Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions PWGCF/MultiparticleCorrelations/Core/MuPa-Configurables.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
// or submit itself to any jurisdiction.

/// \file MuPa-Configurables.h
/// \brief ... TBI 20250425
/// \brief Task to calculate multiparticle correlations and related observables
/// \author Ante.Bilandzic@cern.ch

#ifndef PWGCF_MULTIPARTICLECORRELATIONS_CORE_MUPA_CONFIGURABLES_H_
Expand Down Expand Up @@ -231,9 +231,9 @@ struct : ConfigurableGroup {
Configurable<bool> cfUseDiffPhiPtWeights{"cfUseDiffPhiPtWeights", false, "use or not differential phi(pt) weights"};
Configurable<bool> cfUseDiffPhiEtaWeights{"cfUseDiffPhiEtaWeights", false, "use or not differential phi(eta) weights"};
Configurable<std::vector<std::string>> cfWhichDiffPhiWeights{"cfWhichDiffPhiWeights", {"1-wPhi", "1-wPt", "1-wEta", "1-wCharge", "1-wCentrality", "1-wVertexZ"}, "use (1) or do not use (0) differential phi weight for particular dimension. If only phi is set to 1, integrated phi weights are used. If phi is set to 0, ALL dimensions are switched off (yes!)"};
Configurable<std::vector<std::string>> cfWhichDiffPtWeights{"cfWhichDiffPtWeights", {"0-wPt", "0-wEta", "0-wCharge", "0-wCentrality"}, "use (1) or do not use (0) differential pt weight for particular dimension. If only pt is set to 1, integrated pt weights are used. If pt is set to 0, ALL dimensions are switched off (yes!)"};
Configurable<std::vector<std::string>> cfWhichDiffEtaWeights{"cfWhichDiffEtaWeights", {"0-wEta", "0-wPt", "0-wCharge", "0-wCentrality"}, "use (1) or do not use (0) differential eta weight for particular dimension. If only eta is set to 1, integrated eta weights are used. If eta is set to 0, ALL dimensions are switched off (yes!)"};
Configurable<std::vector<std::string>> cfWhichDiffChargeWeights{"cfWhichDiffChargeWeights", {"0-wCharge", "0-wPt", "0-wEta", "0-wCentrality"}, "use (1) or do not use (0) differential charge weight for particular dimension. If only charge is set to 1, integrated charge weights are used. If charge is set to 0, ALL dimensions are switched off (yes!)"};
Configurable<std::vector<std::string>> cfWhichDiffPtWeights{"cfWhichDiffPtWeights", {"0-wPt", "0-wEta", "0-wCharge", "0-wCentrality", "0-wVertexZ"}, "use (1) or do not use (0) differential pt weight for particular dimension. If only pt is set to 1, integrated pt weights are used. If pt is set to 0, ALL dimensions are switched off (yes!)"};
Configurable<std::vector<std::string>> cfWhichDiffEtaWeights{"cfWhichDiffEtaWeights", {"0-wEta", "0-wPt", "0-wCharge", "0-wCentrality", "0-wVertexZ"}, "use (1) or do not use (0) differential eta weight for particular dimension. If only eta is set to 1, integrated eta weights are used. If eta is set to 0, ALL dimensions are switched off (yes!)"};
Configurable<std::vector<std::string>> cfWhichDiffChargeWeights{"cfWhichDiffChargeWeights", {"0-wCharge", "0-wPt", "0-wEta", "0-wCentrality", "0-wVertexZ"}, "use (1) or do not use (0) differential charge weight for particular dimension. If only charge is set to 1, integrated charge weights are used. If charge is set to 0, ALL dimensions are switched off (yes!)"};
Configurable<std::string> cfFileWithWeights{"cfFileWithWeights", "/home/abilandz/DatasetsO2/weights.root", "path to external ROOT file which holds all particle weights in O2 format"}; // for AliEn file prepend "/alice/cern.ch/", for CCDB prepend "/alice-ccdb.cern.ch"
} cf_pw;

Expand Down
25 changes: 13 additions & 12 deletions PWGCF/MultiparticleCorrelations/Core/MuPa-DataMembers.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
// or submit itself to any jurisdiction.

/// \file MuPa-DataMembers.h
/// \brief ... TBI 20250425
/// \brief Task to calculate multiparticle correlations and related observables
/// \author Ante.Bilandzic@cern.ch

#ifndef PWGCF_MULTIPARTICLECORRELATIONS_CORE_MUPA_DATAMEMBERS_H_
Expand Down Expand Up @@ -86,7 +86,8 @@ struct TaskConfiguration {
// || es.fCalculateEtaSeparationsAsFunctionOf[AFO_PT]
bool fCalculate2DAsFunctionOf[eAsFunctionOf2D_N] = {false}; //! See example above for 1D case + enum for 2D details
bool fCalculate3DAsFunctionOf[eAsFunctionOf3D_N] = {false}; //! See example above for 1D case + enum for 3D details
TDatabasePDG* fDatabasePDG = NULL; // booked only when MC info is available. There is a standard memory blow-up when booked, therefore I need to request also fUseDatabasePDG = true
TDatabasePDG* fDatabasePDG = NULL; // o2-linter: disable=pdg/database (using until o2::framework::O2DatabasePDG lazy initialization is provided)
// booked only when MC info is available. There is a standard memory blow-up when booked, therefore I need to request also fUseDatabasePDG = true
// TBI 20250625 replace eventually with the service O2DatabasePDG, when memory consumption problem is resolved
bool fUseSetBinLabel = false; // until SetBinLabel(...) large memory consumption is resolved, do not use hist->SetBinLabel(...), see ROOT Forum
// See also local executable PostprocessLabels.C
Expand Down Expand Up @@ -165,15 +166,15 @@ struct QualityAssurance {
bool fBookQACorrelationsVsHistograms2D[eQACorrelationsVsHistograms2D_N] = {true}; // book or not this 2D histogram, see configurable cfBookQACorrelationsVsHistograms2D
float fQACorrelationsVsHistogramsBins2D[eQACorrelationsVsHistograms2D_N][2][3] = {{{0.}}}; // [type - see enum][x,y][nBins,min,max]
TString fQACorrelationsVsHistogramsName2D[eQACorrelationsVsHistograms2D_N] = {""}; // name of fQACorrelationsVsHistograms2D, determined programatically from other 1D names, to ease bookkeeping
int fQACorrelationsVsHistogramsMinMaxHarmonic[2]; // book only for MinMaxHarmonic[0] <= harmonics < MinMaxHarmonic[1]
int fQACorrelationsVsHistogramsMinMaxHarmonic[2] = {0}; // book only for MinMaxHarmonic[0] <= harmonics < MinMaxHarmonic[1]

TList* fQACorrelationsVsInteractionRateVsList = NULL; //!<! base list to hold all QA "CorrelationsVsInteractionRateVs" output object
TProfile2D* fQACorrVsIRVsProfiles2D[eQACorrelationsVsInteractionRateVsProfiles2D_N][gMaxHarmonic][2] = {{{NULL}}}; //! [ type - see enum eQACorrelationsVsInteractionRateVsProfiles2D_N ][reco,sim]. I do not have here support for [before, after], because I do not fill Q-vectors before cuts
bool fFillQACorrelationsVsInteractionRateVsProfiles2D = true; // if false, all 2D profiles in this category are not filled. If true, the ones for which fBookQACorrelationsVsInteractionRateVsProfiles2D[...] is true, are filled
bool fBookQACorrelationsVsInteractionRateVsProfiles2D[eQACorrelationsVsInteractionRateVsProfiles2D_N] = {true}; // book or not this 2D profile, see configurable cfBookQACorrelationsVsInteractionRateVsProfiles2D
float fQACorrelationsVsInteractionRateVsProfilesBins2D[eQACorrelationsVsInteractionRateVsProfiles2D_N][2][3] = {{{0.}}}; // [type - see enum][x,y][nBins,min,max]
TString fQACorrelationsVsInteractionRateVsProfilesName2D[eQACorrelationsVsInteractionRateVsProfiles2D_N] = {""}; // name of fQACorrelationsVsInteractionRateVsProfiles2D, determined programatically from other 1D names, to ease bookkeeping
int fQACorrelationsVsInteractionRateVsProfilesMinMaxHarmonic[2]; // book only for MinMaxHarmonic[0] <= harmonics < MinMaxHarmonic[1]
int fQACorrelationsVsInteractionRateVsProfilesMinMaxHarmonic[2] = {0}; // book only for MinMaxHarmonic[0] <= harmonics < MinMaxHarmonic[1]

float fReferenceMultiplicity[eReferenceMultiplicityEstimators_N] = {0.}; // used mostly in QA correlation plots
TString fReferenceMultiplicityEstimatorName[eReferenceMultiplicityEstimators_N] = {""}; // TBI 20241123 add comment
Expand Down Expand Up @@ -428,14 +429,14 @@ struct Test0 {

// *) Eta separations:
struct EtaSeparations {
TList* fEtaSeparationsList; // list to hold all correlations with eta separations
TProfile* fEtaSeparationsFlagsPro; // profile to hold all flags for correlations with eta separations
bool fCalculateEtaSeparations; // calculate correlations with eta separations
bool fCalculateEtaSeparationsAsFunctionOf[eAsFunctionOf_N] = {false}; //! [0=integrated,1=vs. multiplicity,2=vs. centrality,3=pT,4=eta,5=vs. occupancy, ...]
float fEtaSeparationsValues[gMaxNumberEtaSeparations] = {-1.}; // this array holds eta separation interals for which 2p correlations with eta separation will be calculated
// See the corresponding cofigurable cfEtaSeparationsValues. If entry is -1, it's ignored
bool fEtaSeparationsSkipHarmonics[gMaxHarmonic] = {false}; // For calculation of 2p correlation with eta separation these harmonics will be skipped
TProfile* fEtaSeparationsPro[gMaxHarmonic][gMaxNumberEtaSeparations][eAsFunctionOf_N]; // [harmonic, 0 = v1, 8 = v9][ different eta Separations - see that enum ] [ AFO ]
TList* fEtaSeparationsList = NULL; // list to hold all correlations with eta separations
TProfile* fEtaSeparationsFlagsPro = NULL; // profile to hold all flags for correlations with eta separations
bool fCalculateEtaSeparations = false; // calculate correlations with eta separations
bool fCalculateEtaSeparationsAsFunctionOf[eAsFunctionOf_N] = {false}; //! [0=integrated,1=vs. multiplicity,2=vs. centrality,3=pT,4=eta,5=vs. occupancy, ...]
float fEtaSeparationsValues[gMaxNumberEtaSeparations] = {-1.}; // this array holds eta separation interals for which 2p correlations with eta separation will be calculated
// See the corresponding cofigurable cfEtaSeparationsValues. If entry is -1, it's ignored
bool fEtaSeparationsSkipHarmonics[gMaxHarmonic] = {false}; // For calculation of 2p correlation with eta separation these harmonics will be skipped
TProfile* fEtaSeparationsPro[gMaxHarmonic][gMaxNumberEtaSeparations][eAsFunctionOf_N] = {{{NULL}}}; // [harmonic, 0 = v1, 8 = v9][ different eta Separations - see that enum ] [ AFO ]
} es;

// *) Global cosmetics:
Expand Down
Loading
Loading