You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: PWGCF/MultiparticleCorrelations/Core/MuPa-Configurables.h
+16Lines changed: 16 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -26,6 +26,7 @@ struct : ConfigurableGroup {
26
26
Configurable<bool> cfVerboseUtility{"cfVerboseUtility", false, "run or not in verbose mode, also for simple utility functions (but not for function calls per particle)"};
27
27
Configurable<bool> cfVerboseForEachParticle{"cfVerboseForEachParticle", false, "run or not in verbose mode (also for function calls per particle)"};
28
28
Configurable<bool> cfVerboseEventCounter{"cfVerboseEventCounter", false, "print or not only event counter"};
29
+
Configurable<bool> cfVerboseEventCut{"cfVerboseEventCut", false, "print or not which event cut didn't survive"};
29
30
Configurable<bool> cfPlainPrintout{"cfPlainPrintout", false, "print in color or in plain (use the latter in HL)"};
30
31
Configurable<bool> cfDoAdditionalInsanityChecks{"cfDoAdditionalInsanityChecks", false, "do additional insanity checks at run time (this leads to small loss of performance)"};
31
32
Configurable<bool> cfInsanityCheckForEachParticle{"cfInsanityCheckForEachParticle", false, "do insanity checks at run time for each particle, at the expense of losing a lot of performance. Use only during debugging."};
@@ -168,6 +169,21 @@ struct : ConfigurableGroup {
168
169
Configurable<string> cfWhichDefaultLabels{"cfWhichDefaultLabels", "standard", "only for testing purposes, select one set of default labels, see GetDefaultObjArrayWithLabels for supported options"};
169
170
} cf_t0;
170
171
172
+
// *) Eta separation:
173
+
struct : ConfigurableGroup {
174
+
Configurable<bool> cfCalculateEtaSeparations{"cfCalculateEtaSeparations", false, "calculate or not 2p corr. vs. eta separations"};
175
+
Configurable<bool> cfCalculateEtaSeparationsAsFunctionOfIntegrated{"cfCalculateEtaSeparationsAsFunctionOfIntegrated", false, "calculate or not 2p corr. vs. eta separations ..."};
176
+
Configurable<bool> cfCalculateEtaSeparationsAsFunctionOfMultiplicity{"cfCalculateEtaSeparationsAsFunctionOfMultiplicity", false, "calculate or not 2p corr. vs. eta separations as a function of multiplicity"};
177
+
Configurable<bool> cfCalculateEtaSeparationsAsFunctionOfCentrality{"cfCalculateEtaSeparationsAsFunctionOfCentrality", false, "calculate or not 2p corr. vs. eta separations as a function of centrality"};
178
+
Configurable<bool> cfCalculateEtaSeparationsAsFunctionOfPt{"cfCalculateEtaSeparationsAsFunctionOfPt", false, "calculate or not 2p corr. vs. eta separations as a function of pt"};
179
+
// Configurable<bool> cfCalculateEtaSeparationsAsFunctionOfEta{"cfCalculateEtaSeparationsAsFunctionOfEta", false, "this one doesn't make sense in this context"};
180
+
Configurable<bool> cfCalculateEtaSeparationsAsFunctionOfOccupancy{"cfCalculateEtaSeparationsAsFunctionOfOccupancy", false, "calculate or not 2p corr. vs. eta separations as a function of occupancy"};
181
+
Configurable<bool> cfCalculateEtaSeparationsAsFunctionOfInteractionRate{"cfCalculateEtaSeparationsAsFunctionOfInteractionRate", false, "calculate or not 2p corr. vs. eta separations as a function of interaction rate"};
182
+
Configurable<bool> cfCalculateEtaSeparationsAsFunctionOfCurrentRunDuration{"cfCalculateEtaSeparationsAsFunctionOfCurrentRunDuration", false, "calculate or not E2p corr. vs. eta separations as a function of current run duration (i.e. vs. seconds since start of run)"};
183
+
Configurable<vector<float>> cfEtaSeparationsValues{"cfEtaSeparationsValues", {0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8}, "Eta separation between interval A (-eta) and B (+eta)"};
184
+
Configurable<vector<string>> cfEtaSeparationsSkipHarmonics{"cfEtaSeparationsSkipHarmonics", {"0-v1", "0-v2", "0-v3", "0-v4", "1-v5", "1-v6", "1-v7", "1-v8", "1-v9"}, "For calculation of 2p correlation with eta separation these harmonics will be skipped (if first flag = \"0-v1\", v1 will be NOT be skipped in the calculus of 2p correlations with eta separations, etc.)"};
185
+
} cf_es;
186
+
171
187
// *) Particle weights:
172
188
struct : ConfigurableGroup {
173
189
Configurable<bool> cfUsePhiWeights{"cfUsePhiWeights", false, "use or not phi weights"};
Copy file name to clipboardExpand all lines: PWGCF/MultiparticleCorrelations/Core/MuPa-DataMembers.h
+30-1Lines changed: 30 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -47,6 +47,7 @@ struct TaskConfiguration {
47
47
Bool_tfVerboseUtility=kFALSE; // print additional info during debugging also for simply utility function, but not for function calls per particle (see next)
48
48
Bool_tfVerboseForEachParticle=kFALSE; // print additional info during debugging, also for function calls per particle
49
49
Bool_tfVerboseEventCounter=kTRUE; // print or not only event counter
50
+
Bool_tfVerboseEventCut=kTRUE; // print or not only which event cut didn't survive
50
51
Bool_tfPlainPrintout=kFALSE; // print in color or in plain (use the latter in HL)
51
52
Bool_tfDoAdditionalInsanityChecks=kFALSE; // do additional insanity checks at run time, at the expense of losing a bit of performance
52
53
// (for instance, check if the run number in the current 'collision' is the same as run number in the first 'collision', etc.)
@@ -183,10 +184,16 @@ struct Qvector {
183
184
TList*fQvectorList= NULL; // list to hold all Q-vector objects
184
185
TProfile*fQvectorFlagsPro= NULL; // profile to hold all flags for Q-vector
185
186
Bool_tfCalculateQvectors=kTRUE; // to calculate or not to calculate Q-vectors, that's a Boolean...
187
+
// Does NOT apply to Qa, Qb, etc., vectors, needed for eta separ.
Int_tfqVectorEntries[eqvectorKine_N][gMaxNoBinsKine] = {{0}}; // count number of entries in each differential q-vector
192
+
TComplexfQabVector[2][gMaxHarmonic][gMaxNumberEtaSeparations] = {{{TComplex(0., 0.)}}}; //! integrated [-eta or +eta][harmonic][eta separation]
193
+
Double_tfMab[2][gMaxNumberEtaSeparations] = {{0.}}; //! multiplicities in 2 eta separated intervals
194
+
TH1F*fMabDist[2][2][2][gMaxNumberEtaSeparations] = {{{{NULL}}}}; // multiplicity distributions in A and B, for each eta separation [ A or B ] [rec or sim] [ before or after cuts ] [ eta separation value ]
195
+
TComplexfqabVector[2][gMaxNoBinsKine][gMaxHarmonic][gMaxNumberEtaSeparations] = {{{{TComplex(0., 0.)}}}}; //! differential in pt [-eta or +eta][binNo][harmonic][eta separation]
196
+
Double_tfmab[2][gMaxNoBinsKine][gMaxNumberEtaSeparations] = {{{0.}}}; //! multiplicities vs pt in 2 eta separated intervals
190
197
} qv; // "qv" is a common label for objects in this struct
191
198
192
199
// *) Multiparticle correlations (standard, isotropic, same harmonic):
@@ -208,7 +215,7 @@ struct ParticleWeights {
208
215
Bool_tfUseWeights[eWeights_N] = {false}; // use weights [phi,pt,eta]
floatfEtaSeparationsValues[gMaxNumberEtaSeparations] = {-1.}; // this array holds eta separation interals for which 2p correlations with eta separation will be calculated
298
+
// See the corresponding cofigurable cfEtaSeparationsValues. If entry is -1, it's ignored
299
+
boolfEtaSeparationsSkipHarmonics[gMaxHarmonic] = {false}; // For calculation of 2p correlation with eta separation these harmonics will be skipped
300
+
TProfile*fEtaSeparationsPro[gMaxHarmonic][gMaxNumberEtaSeparations][eAsFunctionOf_N]; // [harmonic, 0 = v1, 8 = v9][ different eta Separations - see that enum ] [ AFO ]
301
+
} es;
302
+
303
+
// *) Common cosmetics:
304
+
structCommonCosmetics {
305
+
TStringsrs[2] = {"rec", "sim"}; // used in the histogram name as index when saved to the file
306
+
TStringsrs_long[2] = {"reconstructed", "simulated"}; // used in the histogram title
307
+
TStringsba[2] = {"before", "after"}; // used in the histogram name as index when saved to the file
308
+
TStringsba_long[2] = {"beforecuts", "aftercuts"}; // used in the histogram title
309
+
TStringscc[eCutCounter_N] = {"abs", "seq"}; // used in the histogram name as index when saved to the file
310
+
TStringscc_long[eCutCounter_N] = {"absolute", "sequential"}; // used in the histogram title
311
+
} cc;
312
+
284
313
// *) Results:
285
314
structResults { // This is in addition also sort of "abstract" interface, which defines common binning, etc., for other groups of histograms.
286
315
TList*fResultsList= NULL; //!<! list to hold all results
eTotalMultiplicity, // TBI 20241123 I define it as tracks.size(), but most likely this I do not need this
98
-
eMultiplicity, // see documentation below for ebye.fMultiplicity
99
-
eReferenceMultiplicity, // see documentation below for ebye.fReferenceMultiplicity
98
+
eMultiplicity, // see documentation for ebye.fMultiplicity
99
+
eReferenceMultiplicity, // see documentation for ebye.fReferenceMultiplicity
100
100
eCentrality, // default centrality estimator
101
101
eVertex_x,
102
102
eVertex_y,
@@ -118,8 +118,8 @@ enum eEventCuts {
118
118
eSel8, // See def. of sel7 in Ref. b) above. Event selection decision based on TVX => use only in Run 3, both for data and MC
119
119
// *) As of 20240410, kNoITSROFrameBorder (only in MC) and kNoTimeFrameBorder event selection cuts are part of Sel8
120
120
// See also email from EK from 2024041
121
-
eMultiplicityEstimator, // see documentation below for ebye.fMultiplicity
122
-
eReferenceMultiplicityEstimator, // see documentation below for ebye.fReferenceMultiplicity
121
+
eMultiplicityEstimator, // see documentation for ebye.fMultiplicity
122
+
eReferenceMultiplicityEstimator, // see documentation for ebye.fReferenceMultiplicity
123
123
eCentralityEstimator, // the default centrality estimator, set via configurable. All supported centrality estimators, for QA, etc, are in enum eCentralityEstimators
124
124
eSelectedEvents, // selected events = eNumberOfEvents + eAfter => therefore I do not need a special histogram for it
125
125
eNoSameBunchPileup, // reject collisions in case of pileup with another collision in the same foundBC (emails from IA on 20240404 and EK on 20240410)
0 commit comments