Skip to content

Commit f091637

Browse files
authored
Fix: remove filters in track-V0 task (#7071)
1 parent 09cda74 commit f091637

2 files changed

Lines changed: 196 additions & 178 deletions

File tree

PWGCF/FemtoDream/Tasks/femtoDreamPairTaskTrackTrack.cxx

Lines changed: 57 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -49,30 +49,32 @@ struct femtoDreamPairTaskTrackTrack {
4949

5050
/// General options
5151
struct : ConfigurableGroup {
52-
Configurable<bool> IsMC{"Option.IsMC", false, "Enable additional Histogramms in the case of runninger over Monte Carlo"};
53-
Configurable<bool> Use4D{"Option.Use4D", false, "Enable four dimensional histogramms (to be used only for analysis with high statistics): k* vs multiplicity vs multiplicity percentil vs mT"};
54-
Configurable<bool> ExtendedPlots{"Option.ExtendedPlots", false, "Enable additional three dimensional histogramms. High memory consumption. Use for debugging"};
55-
Configurable<float> HighkstarCut{"Option.HighkstarCut", -1., "Set a cut for high k*, above which the pairs are rejected. Set it to -1 to deactivate it"};
56-
Configurable<bool> SameSpecies{"Option.SameSpecies", false, "Set to true if particle 1 and particle 2 are the same species"};
57-
Configurable<bool> MixEventWithPairs{"Option.MixEventWithPairs", false, "Only use events that contain particle 1 and partile 2 for the event mixing"};
58-
Configurable<bool> RandomizePair{"Option.RandomizePair", true, "Randomly mix particle 1 and particle 2 in case both are identical"};
59-
Configurable<bool> CPROn{"Option.CPROn", true, "Close Pair Rejection"};
60-
Configurable<bool> CPROld{"Option.CPROld", false, "Set to FALSE to use fixed version of CPR (for testing now, will be default soon)"};
61-
Configurable<bool> CPRSepMeSe{"Option.CPRSepMESE", true, "Use seperated plots for same and mixed event for CPR plots"};
62-
Configurable<bool> CPRPlotPerRadii{"Option.CPRPlotPerRadii", false, "Plot CPR per radii"};
63-
Configurable<float> CPRdeltaPhiMax{"Option.CPRdeltaPhiMax", 0.01, "Max. Delta Phi for Close Pair Rejection"};
64-
Configurable<float> CPRdeltaEtaMax{"Option.CPRdeltaEtaMax", 0.01, "Max. Delta Eta for Close Pair Rejection"};
65-
Configurable<bool> DCACutPtDep{"Option.DCACutPtDep", false, "Use pt dependent dca cut"};
66-
ConfigurableAxis Dummy{"Option.Dummy", {1, 0, 1}, "Dummy axis"};
67-
Configurable<bool> SmearingByOrigin{"Option.SmearingByOrigin", false, "Obtain the smearing matrix differential in the MC origin of particle 1 and particle 2. High memory consumption"};
52+
std::string prefix = std::string("Option");
53+
Configurable<bool> IsMC{"IsMC", false, "Enable additional Histogramms in the case of runninger over Monte Carlo"};
54+
Configurable<bool> Use4D{"Use4D", false, "Enable four dimensional histogramms (to be used only for analysis with high statistics): k* vs multiplicity vs multiplicity percentil vs mT"};
55+
Configurable<bool> ExtendedPlots{"ExtendedPlots", false, "Enable additional three dimensional histogramms. High memory consumption. Use for debugging"};
56+
Configurable<float> HighkstarCut{"HighkstarCut", -1., "Set a cut for high k*, above which the pairs are rejected. Set it to -1 to deactivate it"};
57+
Configurable<bool> SameSpecies{"SameSpecies", false, "Set to true if particle 1 and particle 2 are the same species"};
58+
Configurable<bool> MixEventWithPairs{"MixEventWithPairs", false, "Only use events that contain particle 1 and partile 2 for the event mixing"};
59+
Configurable<bool> RandomizePair{"RandomizePair", true, "Randomly mix particle 1 and particle 2 in case both are identical"};
60+
Configurable<bool> CPROn{"CPROn", true, "Close Pair Rejection"};
61+
Configurable<bool> CPROld{"CPROld", false, "Set to FALSE to use fixed version of CPR (for testing now, will be default soon)"};
62+
Configurable<bool> CPRSepMeSe{"CPRSepMESE", true, "Use seperated plots for same and mixed event for CPR plots"};
63+
Configurable<bool> CPRPlotPerRadii{"CPRPlotPerRadii", false, "Plot CPR per radii"};
64+
Configurable<float> CPRdeltaPhiMax{"CPRdeltaPhiMax", 0.01, "Max. Delta Phi for Close Pair Rejection"};
65+
Configurable<float> CPRdeltaEtaMax{"CPRdeltaEtaMax", 0.01, "Max. Delta Eta for Close Pair Rejection"};
66+
Configurable<bool> DCACutPtDep{"DCACutPtDep", false, "Use pt dependent dca cut"};
67+
Configurable<bool> SmearingByOrigin{"SmearingByOrigin", false, "Obtain the smearing matrix differential in the MC origin of particle 1 and particle 2. High memory consumption"};
68+
ConfigurableAxis Dummy{"Dummy", {1, 0, 1}, "Dummy axis"};
6869
} Option;
6970

7071
/// Event selection
7172
struct : ConfigurableGroup {
72-
Configurable<int> MultMin{"EventSel.MultMin", 0, "Minimum Multiplicity (MultNtr)"};
73-
Configurable<int> MultMax{"EventSel.MultMax", 99999, "Maximum Multiplicity (MultNtr)"};
74-
Configurable<float> MultPercentileMin{"EventSel.MultPercentileMin", 0, "Maximum Multiplicity Percentile"};
75-
Configurable<float> MultPercentileMax{"EventSel.MultPercentileMax", 100, "Minimum Multiplicity Percentile"};
73+
std::string prefix = std::string("EventSel");
74+
Configurable<int> MultMin{"MultMin", 0, "Minimum Multiplicity (MultNtr)"};
75+
Configurable<int> MultMax{"MultMax", 99999, "Maximum Multiplicity (MultNtr)"};
76+
Configurable<float> MultPercentileMin{"MultPercentileMin", 0, "Maximum Multiplicity Percentile"};
77+
Configurable<float> MultPercentileMax{"MultPercentileMax", 100, "Minimum Multiplicity Percentile"};
7678
} EventSel;
7779

7880
Filter EventMultiplicity = aod::femtodreamcollision::multNtr >= EventSel.MultMin && aod::femtodreamcollision::multNtr <= EventSel.MultMax;
@@ -92,18 +94,19 @@ struct femtoDreamPairTaskTrackTrack {
9294

9395
/// Track 1
9496
struct : ConfigurableGroup {
95-
Configurable<int> PDGCode{"Track1.PDGCode", 2212, "PDG code of particle 1 (Track)"};
96-
Configurable<femtodreamparticle::cutContainerType> CutBit{"Track1.CutBit", 3191978, "Selection bit from cutCulator for particle 1 (Track)"};
97-
Configurable<femtodreamparticle::cutContainerType> TPCBit{"Track1.TPCBit", 4, "PID TPC bit from cutCulator for particle 1 (Track)"};
98-
Configurable<femtodreamparticle::cutContainerType> TPCBit_Reject{"Track1.TPCBit_Reject", 0, "PID TPC bit from cutCulator to reject a particle hypothesis for particle 1 (set to 0 to ignore)"};
99-
Configurable<femtodreamparticle::cutContainerType> TPCTOFBit{"Track1.TPCTOFBit", 2, "PID TPCTOF bit from cutCulator for particle 1 (Track)"};
100-
Configurable<float> PIDThres{"Track1.PIDThres", 0.75, "Momentum threshold for PID selection for particle 1 (Track)"};
101-
Configurable<float> PtMin{"Track1.PtMin", 0., "Minimum pT of partricle 1 (Track)"};
102-
Configurable<float> PtMax{"Track1.PtMax", 999., "Maximum pT of partricle 1 (Track)"};
103-
Configurable<float> EtaMin{"Track1.EtaMin", -10., "Minimum eta of partricle 1 (Track)"};
104-
Configurable<float> EtaMax{"Track1.EtaMax", 10., "Maximum eta of partricle 1 (Track)"};
105-
Configurable<float> TempFitVarMin{"Track1.TempFitVarMin", -10., "Minimum DCAxy of partricle 1 (Track)"};
106-
Configurable<float> TempFitVarMax{"Track1.TempFitVarMax", 10., "Maximum DCAxy of partricle 1 (Track)"};
97+
std::string prefix = std::string("Track1");
98+
Configurable<int> PDGCode{"PDGCode", 2212, "PDG code of particle 1 (Track)"};
99+
Configurable<femtodreamparticle::cutContainerType> CutBit{"CutBit", 3191978, "Selection bit from cutCulator for particle 1 (Track)"};
100+
Configurable<femtodreamparticle::cutContainerType> TPCBit{"TPCBit", 4, "PID TPC bit from cutCulator for particle 1 (Track)"};
101+
Configurable<femtodreamparticle::cutContainerType> TPCBit_Reject{"TPCBit_Reject", 0, "PID TPC bit from cutCulator to reject a particle hypothesis for particle 1 (set to 0 to ignore)"};
102+
Configurable<femtodreamparticle::cutContainerType> TPCTOFBit{"TPCTOFBit", 2, "PID TPCTOF bit from cutCulator for particle 1 (Track)"};
103+
Configurable<float> PIDThres{"PIDThres", 0.75, "Momentum threshold for PID selection for particle 1 (Track)"};
104+
Configurable<float> PtMin{"PtMin", 0., "Minimum pT of partricle 1 (Track)"};
105+
Configurable<float> PtMax{"PtMax", 999., "Maximum pT of partricle 1 (Track)"};
106+
Configurable<float> EtaMin{"EtaMin", -10., "Minimum eta of partricle 1 (Track)"};
107+
Configurable<float> EtaMax{"EtaMax", 10., "Maximum eta of partricle 1 (Track)"};
108+
Configurable<float> TempFitVarMin{"TempFitVarMin", -10., "Minimum DCAxy of partricle 1 (Track)"};
109+
Configurable<float> TempFitVarMax{"TempFitVarMax", 10., "Maximum DCAxy of partricle 1 (Track)"};
107110
} Track1;
108111

109112
/// Partition for particle 1
@@ -136,18 +139,19 @@ struct femtoDreamPairTaskTrackTrack {
136139

137140
/// Track 2
138141
struct : ConfigurableGroup {
139-
Configurable<int> PDGCode{"Track2.PDGCode", 2212, "PDG code of particle 2 (Track)"};
140-
Configurable<femtodreamparticle::cutContainerType> CutBit{"Track2.CutBit", 3191978, "Selection bit from cutCulator for particle 2 (Track)"};
141-
Configurable<femtodreamparticle::cutContainerType> TPCBit{"Track2.TPCBit", 4, "PID TPC bit from cutCulator for particle 2 (Track)"};
142-
Configurable<femtodreamparticle::cutContainerType> TPCBit_Reject{"Track2.TPCBit_Reject", 0, "PID TPC bit from cutCulator to reject a particle hypothesis for particle 2 (set to 0 to ignore)"};
143-
Configurable<femtodreamparticle::cutContainerType> TPCTOFBit{"Track2.TPCTOFBit", 2, "PID TPCTOF bit from cutCulator for particle 2 (Track)"};
144-
Configurable<float> PIDThres{"Track2.PIDThres", 0.75, "Momentum threshold for PID selection for particle 2 (Track)"};
145-
Configurable<float> PtMin{"Track2.PtMin", 0., "Minimum pT of particle 2 (Track)"};
146-
Configurable<float> PtMax{"Track2.PtMax", 999., "Maximum pT of particle 2 (Track)"};
147-
Configurable<float> EtaMin{"Track2.EtaMin", -10., "Minimum eta of particle 2 (Track)"};
148-
Configurable<float> EtaMax{"Track2.EtaMax", 10., "Maximum eta of particle 2 (Track)"};
149-
Configurable<float> TempFitVarMin{"Track2.TempFitVarMin", -10., "Minimum DCAxy of partricle 1 (Track)"};
150-
Configurable<float> TempFitVarMax{"Track2.TempFitVarMax", 10., "Maximum DCAxy of partricle 1 (Track)"};
142+
std::string prefix = std::string("Track2");
143+
Configurable<int> PDGCode{"PDGCode", 2212, "PDG code of particle 2 (Track)"};
144+
Configurable<femtodreamparticle::cutContainerType> CutBit{"CutBit", 3191978, "Selection bit from cutCulator for particle 2 (Track)"};
145+
Configurable<femtodreamparticle::cutContainerType> TPCBit{"TPCBit", 4, "PID TPC bit from cutCulator for particle 2 (Track)"};
146+
Configurable<femtodreamparticle::cutContainerType> TPCBit_Reject{"TPCBit_Reject", 0, "PID TPC bit from cutCulator to reject a particle hypothesis for particle 2 (set to 0 to ignore)"};
147+
Configurable<femtodreamparticle::cutContainerType> TPCTOFBit{"TPCTOFBit", 2, "PID TPCTOF bit from cutCulator for particle 2 (Track)"};
148+
Configurable<float> PIDThres{"PIDThres", 0.75, "Momentum threshold for PID selection for particle 2 (Track)"};
149+
Configurable<float> PtMin{"PtMin", 0., "Minimum pT of particle 2 (Track)"};
150+
Configurable<float> PtMax{"PtMax", 999., "Maximum pT of particle 2 (Track)"};
151+
Configurable<float> EtaMin{"EtaMin", -10., "Minimum eta of particle 2 (Track)"};
152+
Configurable<float> EtaMax{"EtaMax", 10., "Maximum eta of particle 2 (Track)"};
153+
Configurable<float> TempFitVarMin{"TempFitVarMin", -10., "Minimum DCAxy of partricle 1 (Track)"};
154+
Configurable<float> TempFitVarMax{"TempFitVarMax", 10., "Maximum DCAxy of partricle 1 (Track)"};
151155
} Track2;
152156

153157
/// Partition for track 2
@@ -221,8 +225,7 @@ struct femtoDreamPairTaskTrackTrack {
221225
FemtoDreamDetaDphiStar<aod::femtodreamparticle::ParticleType::kTrack, aod::femtodreamparticle::ParticleType::kTrack> pairCloseRejectionSE;
222226
FemtoDreamDetaDphiStar<aod::femtodreamparticle::ParticleType::kTrack, aod::femtodreamparticle::ParticleType::kTrack> pairCloseRejectionME;
223227
/// Histogram output
224-
HistogramRegistry qaRegistry{"TrackQA", {}, OutputObjHandlingPolicy::AnalysisObject};
225-
HistogramRegistry resultRegistry{"Correlations", {}, OutputObjHandlingPolicy::AnalysisObject};
228+
HistogramRegistry Registry{"Output", {}, OutputObjHandlingPolicy::AnalysisObject};
226229

227230
TRandom3* random;
228231

@@ -231,30 +234,30 @@ struct femtoDreamPairTaskTrackTrack {
231234
if (Option.RandomizePair.value) {
232235
random = new TRandom3(0);
233236
}
234-
eventHisto.init(&qaRegistry, Option.IsMC);
235-
trackHistoPartOne.init(&qaRegistry, Binning.multTempFit, Option.Dummy, Binning.TrackpT, Option.Dummy, Option.Dummy, Binning.TempFitVar, Option.Dummy, Option.Dummy, Option.Dummy, Option.Dummy, Option.Dummy, Option.IsMC, Track1.PDGCode);
237+
eventHisto.init(&Registry, Option.IsMC);
238+
trackHistoPartOne.init(&Registry, Binning.multTempFit, Option.Dummy, Binning.TrackpT, Option.Dummy, Option.Dummy, Binning.TempFitVar, Option.Dummy, Option.Dummy, Option.Dummy, Option.Dummy, Option.Dummy, Option.IsMC, Track1.PDGCode);
236239
if (!Option.SameSpecies) {
237-
trackHistoPartTwo.init(&qaRegistry, Binning.multTempFit, Option.Dummy, Binning.TrackpT, Option.Dummy, Option.Dummy, Binning.TempFitVar, Option.Dummy, Option.Dummy, Option.Dummy, Option.Dummy, Option.Dummy, Option.IsMC, Track2.PDGCode);
240+
trackHistoPartTwo.init(&Registry, Binning.multTempFit, Option.Dummy, Binning.TrackpT, Option.Dummy, Option.Dummy, Binning.TempFitVar, Option.Dummy, Option.Dummy, Option.Dummy, Option.Dummy, Option.Dummy, Option.IsMC, Track2.PDGCode);
238241
}
239242

240-
sameEventCont.init(&resultRegistry,
243+
sameEventCont.init(&Registry,
241244
Binning.kstar, Binning.pT, Binning.kT, Binning.mT, Mixing.MultMixBins, Mixing.MultPercentileMixBins,
242245
Binning4D.kstar, Binning4D.mT, Binning4D.mult, Binning4D.multPercentile,
243246
Option.IsMC, Option.Use4D, Option.ExtendedPlots,
244247
Option.HighkstarCut,
245248
Option.SmearingByOrigin);
246-
mixedEventCont.init(&resultRegistry,
249+
mixedEventCont.init(&Registry,
247250
Binning.kstar, Binning.pT, Binning.kT, Binning.mT, Mixing.MultMixBins, Mixing.MultPercentileMixBins,
248251
Binning4D.kstar, Binning4D.mT, Binning4D.mult, Binning4D.multPercentile,
249252
Option.IsMC, Option.Use4D, Option.ExtendedPlots,
250253
Option.HighkstarCut,
251254
Option.SmearingByOrigin);
252255
sameEventCont.setPDGCodes(Track1.PDGCode, Track2.PDGCode);
253256
mixedEventCont.setPDGCodes(Track1.PDGCode, Track2.PDGCode);
254-
pairCleaner.init(&qaRegistry);
257+
pairCleaner.init(&Registry);
255258
if (Option.CPROn.value) {
256-
pairCloseRejectionSE.init(&resultRegistry, &qaRegistry, Option.CPRdeltaPhiMax.value, Option.CPRdeltaEtaMax.value, Option.CPRPlotPerRadii.value, 1, Option.CPROld.value);
257-
pairCloseRejectionME.init(&resultRegistry, &qaRegistry, Option.CPRdeltaPhiMax.value, Option.CPRdeltaEtaMax.value, Option.CPRPlotPerRadii.value, 2, Option.CPROld.value);
259+
pairCloseRejectionSE.init(&Registry, &Registry, Option.CPRdeltaPhiMax.value, Option.CPRdeltaEtaMax.value, Option.CPRPlotPerRadii.value, 1, Option.CPROld.value);
260+
pairCloseRejectionME.init(&Registry, &Registry, Option.CPRdeltaPhiMax.value, Option.CPRdeltaEtaMax.value, Option.CPRPlotPerRadii.value, 2, Option.CPROld.value);
258261
}
259262

260263
// get bit for the collision mask

0 commit comments

Comments
 (0)