@@ -91,7 +91,6 @@ struct FlowGenericFramework {
9191 O2_DEFINE_CONFIGURABLE (cfgRunByRun, bool , false , " Fill histograms on a run-by-run basis" )
9292 O2_DEFINE_CONFIGURABLE (cfgFillQA, bool , false , " Fill QA histograms" )
9393 O2_DEFINE_CONFIGURABLE (cfgUseAdditionalEventCut, bool , false , " Use additional event cut on mult correlations" )
94- O2_DEFINE_CONFIGURABLE (cfgUseAdditionalTrackCut, bool , false , " Use additional track cut on phi" )
9594 O2_DEFINE_CONFIGURABLE (cfgUseCentralMoments, bool , true , " Use central moments in vn-pt calculations" )
9695 O2_DEFINE_CONFIGURABLE (cfgUsePID, bool , true , " Enable PID information" )
9796 O2_DEFINE_CONFIGURABLE (cfgUseGapMethod, bool , false , " Use gap method in vn-pt calculations" )
@@ -111,11 +110,11 @@ struct FlowGenericFramework {
111110 O2_DEFINE_CONFIGURABLE (cfgIsGoodITSLayersAll, bool , true , " kIsGoodITSLayersAll" );
112111 O2_DEFINE_CONFIGURABLE (cfgNoCollInTimeRangeStandard, bool , true , " kNoCollInTimeRangeStandard" );
113112 O2_DEFINE_CONFIGURABLE (cfgDoOccupancySel, bool , true , " Bool for event selection on detector occupancy" );
114- O2_DEFINE_CONFIGURABLE (cfgMultCut, bool , true , " Use additional evenr cut on mult correlations" );
113+ O2_DEFINE_CONFIGURABLE (cfgMultCut, bool , true , " Use additional event cut on mult correlations" );
115114 O2_DEFINE_CONFIGURABLE (cfgTVXinTRD, bool , true , " Use kTVXinTRD (reject TRD triggered events)" );
116115 O2_DEFINE_CONFIGURABLE (cfgIsVertexITSTPC, bool , true , " Selects collisions with at least one ITS-TPC track" );
117116 O2_DEFINE_CONFIGURABLE (cfgMagField, float , 99999 , " Configurable magnetic field; default CCDB will be queried" );
118- O2_DEFINE_CONFIGURABLE (cfgTofPtCut, float , 1.0 , " pt cut on TOF for PID" );
117+ O2_DEFINE_CONFIGURABLE (cfgTofPtCut, float , 0.5 , " pt cut on TOF for PID" );
119118
120119 Configurable<GFWBinningCuts> cfgGFWBinning{" cfgGFWBinning" , {40 , 16 , 72 , 300 , 0 , 3000 , 0.2 , 10.0 , 0.2 , 3.0 , {0.2 , 0.25 , 0.3 , 0.35 , 0.4 , 0.45 , 0.5 , 0.55 , 0.6 , 0.65 , 0.7 , 0.75 , 0.8 , 0.85 , 0.9 , 0.95 , 1 , 1.1 , 1.2 , 1.3 , 1.4 , 1.5 , 1.6 , 1.7 , 1.8 , 1.9 , 2 , 2.2 , 2.4 , 2.6 , 2.8 , 3 , 3.5 , 4 , 5 , 6 , 8 , 10 }, {0 , 5 , 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 }}, " Configuration for binning" };
121120 Configurable<GFWRegions> cfgRegions{" cfgRegions" , {{" refN" , " refP" , " refFull" }, {-0.8 , 0.4 , -0.8 }, {-0.4 , 0.8 , 0.8 }, {0 , 0 , 0 }, {1 , 1 , 1 }}, " Configurations for GFW regions" };
@@ -207,7 +206,6 @@ struct FlowGenericFramework {
207206 cfgGFWBinning->Print ();
208207
209208 AxisSpec phiAxis = {phibins, philow, phiup, " #phi" };
210- AxisSpec phiModAxis = {100 , 0 , constants::math::PI / 9 , " fmod(#varphi,#pi/9)" };
211209 AxisSpec etaAxis = {etabins, -cfgEta, cfgEta, " #eta" };
212210 AxisSpec vtxAxis = {vtxZbins, -cfgVtxZ, cfgVtxZ, " Vtx_{z} (cm)" };
213211 AxisSpec ptAxis = {ptbinning, " #it{p}_{T} GeV/#it{c}" };
@@ -242,7 +240,6 @@ struct FlowGenericFramework {
242240 if (doprocessMCReco || doprocessData || doprocessRun2) {
243241 registry.add (" trackQA/before/phi_eta_vtxZ" , " " , {HistType::kTH3D , {phiAxis, etaAxis, vtxAxis}});
244242 registry.add (" trackQA/before/pt_dcaXY_dcaZ" , " " , {HistType::kTH3D , {ptAxis, dcaXYAXis, dcaZAXis}});
245- registry.add (" trackQA/before/pt_phi" , " " , {HistType::kTH2D , {ptAxis, phiModAxis}});
246243 registry.addClone (" trackQA/before/" , " trackQA/after/" );
247244 registry.add (" trackQA/after/pt_ref" , " " , {HistType::kTH1D , {{100 , ptreflow, ptrefup}}});
248245 registry.add (" trackQA/after/pt_poi" , " " , {HistType::kTH1D , {{100 , ptpoilow, ptpoiup}}});
@@ -310,20 +307,6 @@ struct FlowGenericFramework {
310307 fFCpt ->initialise (multAxis, cfgMpar, configs, cfgNbootstrap);
311308 // Event selection - Alex
312309 if (cfgUseAdditionalEventCut) {
313- /*
314- //22s cuts
315- fMultPVCutLow = new TF1("fMultPVCutLow", "[0]+[1]*x+[2]*x*x+[3]*x*x*x - 2.5*([4]+[5]*x+[6]*x*x+[7]*x*x*x+[8]*x*x*x*x)", 0, 100);
316- fMultPVCutLow->SetParameters(2834.66, -87.0127, 0.915126, -0.00330136, 332.513, -12.3476, 0.251663, -0.00272819, 1.12242e-05);
317- fMultPVCutHigh = new TF1("fMultPVCutHigh", "[0]+[1]*x+[2]*x*x+[3]*x*x*x + 2.5*([4]+[5]*x+[6]*x*x+[7]*x*x*x+[8]*x*x*x*x)", 0, 100);
318- fMultPVCutHigh->SetParameters(2834.66, -87.0127, 0.915126, -0.00330136, 332.513, -12.3476, 0.251663, -0.00272819, 1.12242e-05);
319-
320- fMultCutLow = new TF1("fMultCutLow", "[0]+[1]*x+[2]*x*x+[3]*x*x*x - 2.5*([4]+[5]*x)", 0, 100);
321- fMultCutLow->SetParameters(1893.94, -53.86, 0.502913, -0.0015122, 109.625, -1.19253);
322- fMultCutHigh = new TF1("fMultCutHigh", "[0]+[1]*x+[2]*x*x+[3]*x*x*x + 3.*([4]+[5]*x)", 0, 100);
323- fMultCutHigh->SetParameters(1893.94, -53.86, 0.502913, -0.0015122, 109.625, -1.19253);
324- fMultMultPVCut = new TF1("fMultMultPVCut", "[0]+[1]*x+[2]*x*x", 0, 5000);
325- fMultMultPVCut->SetParameters(-0.1, 0.785, -4.7e-05);
326- */
327310 fMultPVCutLow = new TF1 (" fMultPVCutLow" , " [0]+[1]*x+[2]*x*x+[3]*x*x*x+[4]*x*x*x*x - 3.5*([5]+[6]*x+[7]*x*x+[8]*x*x*x+[9]*x*x*x*x)" , 0 , 100 );
328311 fMultPVCutLow ->SetParameters (3257.29 , -121.848 , 1.98492 , -0.0172128 , 6.47528e-05 , 154.756 , -1.86072 , -0.0274713 , 0.000633499 , -3.37757e-06 );
329312 fMultPVCutHigh = new TF1 (" fMultPVCutHigh" , " [0]+[1]*x+[2]*x*x+[3]*x*x*x+[4]*x*x*x*x + 3.5*([5]+[6]*x+[7]*x*x+[8]*x*x*x+[9]*x*x*x*x)" , 0 , 100 );
@@ -334,11 +317,6 @@ struct FlowGenericFramework {
334317 fMultCutHigh = new TF1 (" fMultCutHigh" , " [0]+[1]*x+[2]*x*x+[3]*x*x*x + 3.*([4]+[5]*x+[6]*x*x+[7]*x*x*x+[8]*x*x*x*x)" , 0 , 100 );
335318 fMultCutHigh ->SetParameters (1654.46 , -47.2379 , 0.449833 , -0.0014125 , 150.773 , -3.67334 , 0.0530503 , -0.000614061 , 3.15956e-06 );
336319 }
337-
338- if (cfgUseAdditionalTrackCut) {
339- fPhiCutLow = new TF1 (" fPhiCutLow" , " 0.06/x+pi/18.0-0.06" , 0 , 100 );
340- fPhiCutHigh = new TF1 (" fPhiCutHigh" , " 0.1/x+pi/18.0+0.06" , 0 , 100 );
341- }
342320 }
343321
344322 static constexpr std::string_view FillTimeName[] = {" before/" , " after/" };
@@ -543,44 +521,9 @@ struct FlowGenericFramework {
543521 if (cfgRunByRun)
544522 th1sList[run][hEventSel]->Fill (9.5 );
545523 }
546-
547- /* 22s
548- if (multNTracksPV < fMultPVCutLow->Eval(centrality))
549- return 0;
550- if (multNTracksPV > fMultPVCutHigh->Eval(centrality))
551- return 0;
552- if (multTrk < fMultCutLow->Eval(centrality))
553- return 0;
554- if (multTrk > fMultCutHigh->Eval(centrality))
555- return 0;
556- if (multTrk > fMultMultPVCut->Eval(multNTracksPV))
557- return 0;
558- */
559524 return 1 ;
560525 }
561526
562- template <typename TTrack>
563- bool trackSelected (TTrack track, const int & field)
564- {
565- double phimodn = track.phi ();
566- if (field < 0 ) // for negative polarity field
567- phimodn = TwoPI - phimodn;
568- if (track.sign () < 0 ) // for negative charge
569- phimodn = TwoPI - phimodn;
570- if (phimodn < 0 )
571- LOGF (warning, " phi < 0: %g" , phimodn);
572-
573- phimodn += PI / 18.0 ; // to center gap in the middle
574- phimodn = fmod (phimodn, PI / 9.0 );
575- if (cfgFillQA)
576- registry.fill (HIST (" trackQA/before/pt_phi" ), track.pt (), phimodn);
577- if (phimodn < fPhiCutHigh ->Eval (track.pt ()) && phimodn > fPhiCutLow ->Eval (track.pt ()))
578- return false ; // reject track
579- if (cfgFillQA)
580- registry.fill (HIST (" trackQA/after/pt_phi" ), track.pt (), phimodn);
581- return true ;
582- }
583-
584527 enum DataType {
585528 kReco ,
586529 kGen
@@ -741,9 +684,6 @@ struct FlowGenericFramework {
741684 if (mcParticle.eta () < etalow || mcParticle.eta () > etaup || mcParticle.pt () < ptlow || mcParticle.pt () > ptup || track.tpcNClsFound () < cfgNcls)
742685 return ;
743686
744- if (cfgUseAdditionalTrackCut && !trackSelected (track, field))
745- return ;
746-
747687 int pidIndex = 0 ;
748688 if (cfgUsePID) {
749689 if (std::abs (mcParticle.pdgCode ()) == kPiPlus )
@@ -799,9 +739,6 @@ struct FlowGenericFramework {
799739 if (track.tpcNClsFound () < cfgNcls)
800740 return ;
801741
802- if (cfgUseAdditionalTrackCut && !trackSelected (track, field))
803- return ;
804-
805742 int pidIndex = 0 ;
806743 if (cfgUsePID) {
807744 // pid_index = getBayesPIDIndex(track);
@@ -868,11 +805,16 @@ struct FlowGenericFramework {
868805 if (withinPtNch && withinPtRef)
869806 fGFW ->Fill (track.eta (), fPtAxis ->FindBin (track.pt ()) - 1 , track.phi (), waccPOI, 32 );
870807 } else { // Analysing only integrated flow
808+ bool withinPtRef = (track.pt () > ptreflow && track.pt () < ptrefup);
809+ bool withinPtPOI = (track.pt () > ptpoilow && track.pt () < ptpoiup);
810+ if (!withinPtPOI && !withinPtRef) return ;
871811 double weff = (dt == kGen ) ? 1 . : getEfficiency (track);
872812 if (weff < 0 )
873813 return ;
874814 double wacc = (dt == kGen ) ? 1 . : getAcceptance (track, vtxz, 0 );
875- fGFW ->Fill (track.eta (), fPtAxis ->FindBin (track.pt ()) - 1 , track.phi (), weff * wacc, 1 );
815+ if (withinPtRef) fGFW ->Fill (track.eta (), fPtAxis ->FindBin (track.pt ()) - 1 , track.phi (), weff * wacc, 1 );
816+ if (withinPtPOI) fGFW ->Fill (track.eta (), fPtAxis ->FindBin (track.pt ()) - 1 , track.phi (), weff * wacc, 2 );
817+ if (withinPtRef && withinPtPOI) fGFW ->Fill (track.eta (), fPtAxis ->FindBin (track.pt ()) - 1 , track.phi (), weff * wacc, 4 );
876818 }
877819 return ;
878820 }
0 commit comments