@@ -43,14 +43,6 @@ using namespace o2::framework;
4343using namespace o2 ::framework::expressions;
4444using namespace o2 ::aod::mult;
4545using namespace o2 ::aod::evsel;
46- using ColEvSels = soa::Join<aod::Collisions, aod::EvSels>;
47- using AodCollisions = soa::Filtered<soa::Join<aod::Collisions, aod::EvSels, aod::CentFT0Cs, aod::Mults>>;
48- using AodTracks = soa::Filtered<soa::Join<aod::Tracks, aod::TrackSelection, aod::TracksExtra, aod::TracksDCA>>;
49- using BCsRun3 = soa::Join<aod::BCs, aod::Timestamps, aod::BcSels, aod::Run3MatchedToBCSparse>;
50- using AodZDCs = soa::Join<aod::ZDCMults, aod::Zdcs>;
51- using CollisionDataTable = soa::Join<aod::Collisions, aod::EvSels, aod::Mults, aod::CentFT0Cs, aod::CentFT0CVariant1s, aod::CentFT0Ms>;
52- using TrackDataTable = soa::Join<aod::Tracks, aod::TracksExtra, aod::TracksDCA, aod::TrackSelection>;
53- using FilTrackDataTable = soa::Filtered<TrackDataTable>;
5446
5547#define O2_DEFINE_CONFIGURABLE (NAME, TYPE, DEFAULT, HELP ) Configurable<TYPE> NAME{#NAME, DEFAULT, HELP};
5648
@@ -93,21 +85,21 @@ struct FlowZdcTask {
9385 Configurable<float > npvTracksCut{" npvTracksCut" , 1 .0f , " Apply extra NPVtracks cut" };
9486 Configurable<bool > isApplySameBunchPileup{" isApplySameBunchPileup" , true , " Enable SameBunchPileup cut" };
9587 Configurable<bool > isApplyGoodZvtxFT0vsPV{" isApplyGoodZvtxFT0vsPV" , true , " Enable GoodZvtxFT0vsPV cut" };
96- Configurable<bool > isApplyVertexITSTPC{" isApplyVertexITSTPC" , true , " Enable VertexITSTPC cut" };
97- Configurable<bool > isApplyVertexTOFmatched{" isApplyVertexTOFmatched" , true , " Enable VertexTOFmatched cut" };
98- Configurable<bool > isApplyVertexTRDmatched{" isApplyVertexTRDmatched" , true , " Enable VertexTRDmatched cut" };
88+ Configurable<bool > isApplyVertexITSTPC{" isApplyVertexITSTPC" , false , " Enable VertexITSTPC cut" };
89+ Configurable<bool > isApplyVertexTOFmatched{" isApplyVertexTOFmatched" , false , " Enable VertexTOFmatched cut" };
90+ Configurable<bool > isApplyVertexTRDmatched{" isApplyVertexTRDmatched" , false , " Enable VertexTRDmatched cut" };
9991 Configurable<bool > isApplyExtraCorrCut{" isApplyExtraCorrCut" , false , " Enable extra NPVtracks vs FTOC correlation cut" };
10092 Configurable<bool > isApplyExtraPhiCut{" isApplyExtraPhiCut" , false , " Enable extra phi cut" };
101- Configurable<bool > isApplyNoCollInTimeRangeStandard{" isApplyNoCollInTimeRangeStandard" , true , " Enable NoCollInTimeRangeStandard cut" };
102- Configurable<bool > isApplyNoCollInRofStandard{" isApplyNoCollInRofStandard" , true , " Enable NoCollInRofStandard cut" };
103- Configurable<bool > isApplyNoHighMultCollInPrevRof{" isApplyNoHighMultCollInPrevRof" , true , " Enable NoHighMultCollInPrevRof cut" };
104- Configurable<bool > isApplyFT0CbasedOccupancy{" isApplyFT0CbasedOccupancy" , true , " Enable FT0CbasedOccupancy cut" };
93+ Configurable<bool > isApplyNoCollInTimeRangeStandard{" isApplyNoCollInTimeRangeStandard" , false , " Enable NoCollInTimeRangeStandard cut" };
94+ Configurable<bool > isApplyNoCollInRofStandard{" isApplyNoCollInRofStandard" , false , " Enable NoCollInRofStandard cut" };
95+ Configurable<bool > isApplyNoHighMultCollInPrevRof{" isApplyNoHighMultCollInPrevRof" , false , " Enable NoHighMultCollInPrevRof cut" };
96+ Configurable<bool > isApplyFT0CbasedOccupancy{" isApplyFT0CbasedOccupancy" , false , " Enable FT0CbasedOccupancy cut" };
10597 Configurable<bool > isApplyCentFT0C{" isApplyCentFT0C" , false , " Centrality based on FT0C" };
10698 Configurable<bool > isApplyCentFT0CVariant1{" isApplyCentFT0CVariant1" , false , " Centrality based on FT0C variant1" };
10799 Configurable<bool > isApplyCentFT0M{" isApplyCentFT0M" , false , " Centrality based on FT0A + FT0C" };
108100 Configurable<bool > isApplyCentNGlobal{" isApplyCentNGlobal" , false , " Centrality based on global tracks" };
109101 Configurable<bool > isApplyCentMFT{" isApplyCentMFT" , false , " Centrality based on MFT tracks" };
110- Configurable<bool > isGoodITSLayersAll{" isGoodITSLayersAll" , true , " Centrality based on no other collisions in this Readout Frame with per-collision multiplicity above threshold tracks" };
102+ Configurable<bool > isGoodITSLayersAll{" isGoodITSLayersAll" , false , " Centrality based on no other collisions in this Readout Frame with per-collision multiplicity above threshold tracks" };
111103 Configurable<float > ft0cCut{" ft0cCut" , 1 .0f , " Apply extra FT0C cut" };
112104
113105 ConfigurableAxis axisVertex{" axisVertex" , {20 , -10 , 10 }, " vertex axis for histograms" };
@@ -128,8 +120,15 @@ struct FlowZdcTask {
128120
129121 Filter collisionFilter = nabs(aod::collision::posZ) < cfgCutVertex;
130122 Filter trackFilter = (nabs(aod::track::eta) < cfgCutEta) && (aod::track::pt > cfgCutPtMin) && (aod::track::pt < cfgCutPtMax) && ((requireGlobalTrackInFilter()) || (aod::track::isGlobalTrackSDD == (uint8_t ) true )) && (aod::track::tpcChi2NCl < cfgCutChi2prTPCcls) && (nabs(aod::track::dcaZ) < cfgCutDCAz) && (nabs(aod::track::dcaXY) < cfgCutDCAxy);
123+ using ColEvSels = soa::Join<aod::Collisions, aod::EvSels>;
124+ using AodCollisions = soa::Filtered<soa::Join<aod::Collisions, aod::EvSels, aod::CentFT0Cs, aod::Mults>>;
125+ using AodTracks = soa::Filtered<soa::Join<aod::Tracks, aod::TrackSelection, aod::TracksExtra, aod::TracksDCA>>;
131126 Partition<AodTracks> tracksIUWithTPC = (aod::track::tpcNClsFindable > (uint8_t )0 );
132-
127+ using BCsRun3 = soa::Join<aod::BCs, aod::Timestamps, aod::BcSels, aod::Run3MatchedToBCSparse>;
128+ using AodZDCs = soa::Join<aod::ZDCMults, aod::Zdcs>;
129+ using CollisionDataTable = soa::Join<aod::Collisions, aod::EvSels, aod::Mults, aod::CentFT0Cs, aod::CentFT0CVariant1s, aod::CentFT0Ms>;
130+ using TrackDataTable = soa::Join<aod::Tracks, aod::TracksExtra, aod::TracksDCA, aod::TrackSelection>;
131+ using FilTrackDataTable = soa::Filtered<TrackDataTable>;
133132 std::complex <double > qTPC; // init q TPC
134133 std::complex <double > qZNA{0 , 0 }; // init qZNA
135134 std::complex <double > qZNC{0 , 0 }; // init qZNC
@@ -216,6 +215,7 @@ struct FlowZdcTask {
216215 {AxisSpec{100 , 0 , 100 , " Centrality [%]" }, AxisSpec{100 , 0 , 500 , " ZP Energy" }});
217216 histos.add (" revsimag" , " revsimag" , kTH2F , {axisREQ, axisIMQ}); // for q vector recentering
218217 histos.add (" hYield" , " Nch vs pT" , kTH2F , {axisMultiplicity, axisPt});
218+ histos.add (" hGlobalTracks" , " hGlobalTracks" , kTH1F , {axisMultiplicity});
219219 histos.add (" eventSelectionSteps" , " eventSelectionSteps" , kTH1D , {axisEvent});
220220 auto hstat = histos.get <TH1>(HIST (" eventSelectionSteps" ));
221221 auto * xAxis = hstat->GetXaxis ();
@@ -335,16 +335,15 @@ struct FlowZdcTask {
335335 const auto & tracksGrouped = tracksIUWithTPC->sliceByCached (aod::track::collisionId, collision.globalIndex (), cache);
336336 const int multTPC = tracksGrouped.size ();
337337 const auto cent = collision.centFT0C ();
338+ int globalTracks = tracks.size ();
339+ if (globalTracks < 1 )
340+ return ;
338341 // this is the q vector for the TPC data. it is a complex function
339342 double qTpcReal = 0.0 ; // Initialize qTPC_real
340343 double qTpcIm = 0.0 ; // init qTPC_imaginary
341344 std::complex <double > qTPC (0 , 0 ); // Starting with a q-vector of zero
342345 int nTot{0 }; // Tracks are already filtered with GlobalTrack || GlobalTrackSDD
343346 for (const auto & track : tracks) {
344- if (track.tpcNClsCrossedRows () < minTpcNcrossedRows)
345- continue ;
346- if (std::fabs (track.dcaXY ()) > cfgCutDCAxy)
347- continue ;
348347 double phi = track.phi ();
349348 nTot++;
350349 histos.fill (HIST (" etaHistogram" ), track.eta ());
@@ -371,6 +370,7 @@ struct FlowZdcTask {
371370 histos.fill (HIST (" IMqHistogram" ), qTpcIm);
372371
373372 histos.fill (HIST (" TPCmultiplicity" ), multTPC);
373+ histos.fill (HIST (" hGlobalTracks" ), globalTracks);
374374
375375 histos.fill (HIST (" revsimag" ), qTpcReal, qTpcIm);
376376 }
0 commit comments