Skip to content

Commit 9006246

Browse files
Emil Gorm NielsenEmilGorm
authored andcommitted
Remove phimod track cut
1 parent eba5a48 commit 9006246

File tree

1 file changed

+8
-66
lines changed

1 file changed

+8
-66
lines changed

PWGCF/GenericFramework/Tasks/flowGenericFramework.cxx

Lines changed: 8 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)