@@ -117,10 +117,15 @@ struct MultiharmonicCorrelations { // this name is used in lower-case format to
117117 Configurable<bool > cfUseWeights{" cfUseWeights" , true , " use weights" };
118118 Configurable<bool > cfToyModel{" cfToyModel" , true , " phi-distribution from toy model" };
119119 Configurable<bool > cfNest{" cfNest" , true , " nested loops" };
120+ Configurable<bool > cfTechcuts{" cfTechcuts" , true , " technical cuts" };
120121
121122 Configurable<std::vector<float >> cfVertexZ{" cfVertexZ" , {-10 , 10 .}, " vertex z position range: {min, max}[cm], with convention: min <= Vz < max" };
122123 Configurable<std::vector<float >> cfPt{" cfPt" , {0.2 , 5.0 }, " transverse momentum range" };
123124 Configurable<std::vector<float >> cfEta{" cfEta" , {-0.8 , 0.8 }, " eta range" };
125+ Configurable<std::vector<float >> cfDCAxy{" cfDCAxy" , {-0.5 , 0.5 }, " dca xy range" };
126+ Configurable<std::vector<float >> cfDCAz{" cfDCAz" , {-0.2 , 0.2 }, " dca z range" };
127+ Configurable<float > cftpcNClsFoundmin{" cftpcNClsFoundmin" , 70 ., " tpcNClsFoundmin" };
128+ Configurable<float > cftpcChi2NClmax{" cftpcChi2NClmax" , 4 ., " tpcChi2NClmax" };
124129
125130 Configurable<std::vector<int >> cfRuns{" cfRuns" , {544091 , 544095 , 544098 , 544116 , 544121 , 544122 , 544123 , 544124 }, " List of run numbers to analyze" };
126131 Configurable<std::string> cfFileWithWeights{" cfFileWithWeights" , " /alice-ccdb.cern.ch/Users/p/pengchon/weightsfile06" , " path to external ROOT file which holds all particle weights" };
@@ -367,6 +372,10 @@ struct MultiharmonicCorrelations { // this name is used in lower-case format to
367372 float NContrcut = 2 .;
368373 if (posZ < vertexZmin || posZ > vertexZmax || (!collision.sel8 ()) || collision.numContrib () < NContrcut)
369374 return false ;
375+ if (cfTechcuts) {
376+ if (!collision.selection_bit (o2::aod::evsel::kNoCollInTimeRangeStandard ) || !collision.selection_bit (o2::aod::evsel::kNoCollInRofStandard ) || !collision.selection_bit (o2::aod::evsel::kNoSameBunchPileup ) || !collision.selection_bit (o2::aod::evsel::kIsVertexITSTPC ) || !collision.selection_bit (o2::aod::evsel::kIsGoodITSLayersAll ) || !collision.selection_bit (o2::aod::evsel::kIsGoodZvtxFT0vsPV ) || !collision.selection_bit (o2::aod::evsel::kNoHighMultCollInPrevRof ))
377+ return false ;
378+ }
370379 return true ;
371380 }
372381
@@ -381,7 +390,15 @@ struct MultiharmonicCorrelations { // this name is used in lower-case format to
381390 float etacutmin = static_cast <float >(Eta[0 ]);
382391 float etacutmax = static_cast <float >(Eta[1 ]);
383392 float eta = track.eta ();
384- if (pt < ptcutmin || pt > ptcutmax || eta < etacutmin || eta > etacutmax)
393+ vector<float > dcaXY = cfDCAxy.value ;
394+ float dcaxycutmin = static_cast <float >(dcaXY[0 ]);
395+ float dcaxycutmax = static_cast <float >(dcaXY[1 ]);
396+ float dcaxy = track.dcaXY ();
397+ vector<float > dcaZ = cfDCAz.value ;
398+ float dcazcutmin = static_cast <float >(dcaZ[0 ]);
399+ float dcazcutmax = static_cast <float >(dcaZ[1 ]);
400+ float dcaz = track.dcaZ ();
401+ if (pt < ptcutmin || pt > ptcutmax || eta < etacutmin || eta > etacutmax || dcaxy < dcaxycutmin || dcaxy > dcaxycutmax || dcaz < dcazcutmin || dcaz > dcazcutmax || (!track.isPrimaryTrack ()) || (!track.isPVContributor ()) || track.tpcNClsFound () < cftpcNClsFoundmin.value || track.tpcChi2NCl () > cftpcChi2NClmax)
385402 return false ;
386403 return true ;
387404 }
0 commit comments