Skip to content

Commit 83ca99b

Browse files
author
Maurice Coquet
committed
[PWGDQ] Adding dileptonMiniTree in tableReader_withAssoc
1 parent 48e1f21 commit 83ca99b

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

PWGDQ/Tasks/tableReader_withAssoc.cxx

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1223,6 +1223,7 @@ struct AnalysisSameEventPairing {
12231223
Produces<aod::DileptonsInfo> dileptonInfoList;
12241224
Produces<aod::JPsieeCandidates> PromptNonPromptSepTable;
12251225
Produces<aod::DileptonPolarization> dileptonPolarList;
1226+
Produces<aod::DileptonsMiniTree> dileptonMiniTree;
12261227

12271228
o2::base::MatLayerCylSet* fLUT = nullptr;
12281229
int fCurrentRun; // needed to detect if the run changed and trigger update of calibrations etc.
@@ -1275,6 +1276,13 @@ struct AnalysisSameEventPairing {
12751276
Configurable<bool> loadModelsFromCCDB{"loadModelsFromCCDB", false, "Flag to enable or disable the loading of models from CCDB"};
12761277
} fConfigML;
12771278

1279+
// Configurables to create output tree (flat tables or minitree)
1280+
struct : ConfigurableGroup {
1281+
Configurable<bool> fConfigMiniTree{"useMiniTree.cfgMiniTree", false, "Produce a single flat table with minimal information for analysis"};
1282+
Configurable<float> fConfigMiniTreeMinMass{"useMiniTree.cfgMiniTreeMinMass", 2, "Min. mass cut for minitree"};
1283+
Configurable<float> fConfigMiniTreeMaxMass{"useMiniTree.cfgMiniTreeMaxMass", 5, "Max. mass cut for minitree"};
1284+
} useMiniTree;
1285+
12781286
Service<o2::ccdb::BasicCCDBManager> fCCDB;
12791287
o2::ccdb::CcdbApi fCCDBApi;
12801288

@@ -1697,6 +1705,9 @@ struct AnalysisSameEventPairing {
16971705
if (fConfigOptions.polarTables.value) {
16981706
dileptonPolarList.reserve(1);
16991707
}
1708+
if (useMiniTree.fConfigMiniTree) {
1709+
dileptonMiniTree.reserve(1);
1710+
}
17001711
fAmbiguousPairs.clear();
17011712
constexpr bool eventHasQvector = ((TEventFillMap & VarManager::ObjTypes::ReducedEventQvector) > 0);
17021713
constexpr bool eventHasQvectorCentr = ((TEventFillMap & VarManager::ObjTypes::CollisionQvect) > 0);
@@ -1971,6 +1982,22 @@ struct AnalysisSameEventPairing {
19711982
}
19721983
if (sign1 * sign2 < 0) {
19731984
PromptNonPromptSepTable(VarManager::fgValues[VarManager::kMass], VarManager::fgValues[VarManager::kPt], VarManager::fgValues[VarManager::kVertexingTauxyProjected], VarManager::fgValues[VarManager::kVertexingTauxyProjectedPoleJPsiMass], VarManager::fgValues[VarManager::kVertexingTauzProjected], isAmbiInBunch, isAmbiOutOfBunch, VarManager::fgValues[VarManager::kMultFT0A], VarManager::fgValues[VarManager::kMultFT0C], VarManager::fgValues[VarManager::kCentFT0M], VarManager::fgValues[VarManager::kVtxNcontribReal]);
1985+
if (useMiniTree.fConfigMiniTree) {
1986+
// By default (kPt1, kEta1, kPhi1) are for the positive charge
1987+
float dileptonMass = VarManager::fgValues[VarManager::kMass];
1988+
if (dileptonMass > useMiniTree.fConfigMiniTreeMinMass && dileptonMass < useMiniTree.fConfigMiniTreeMaxMass) {
1989+
// In the miniTree the positive daughter is positioned as first
1990+
if (sign1 > 0) {
1991+
dileptonMiniTree(VarManager::fgValues[VarManager::kMass], VarManager::fgValues[VarManager::kPt], VarManager::fgValues[VarManager::kRap],
1992+
VarManager::fgValues[VarManager::kCentFT0C], VarManager::fgValues[VarManager::kCos2DeltaPhi],
1993+
VarManager::fgValues[VarManager::kPt1], VarManager::fgValues[VarManager::kEta1], VarManager::fgValues[VarManager::kPhi1], VarManager::fgValues[VarManager::kPt2], VarManager::fgValues[VarManager::kEta2], VarManager::fgValues[VarManager::kPhi2]);
1994+
} else {
1995+
dileptonMiniTree(VarManager::fgValues[VarManager::kMass], VarManager::fgValues[VarManager::kPt], VarManager::fgValues[VarManager::kRap],
1996+
VarManager::fgValues[VarManager::kCentFT0C], VarManager::fgValues[VarManager::kCos2DeltaPhi],
1997+
VarManager::fgValues[VarManager::kPt1], VarManager::fgValues[VarManager::kEta1], VarManager::fgValues[VarManager::kPhi1], VarManager::fgValues[VarManager::kPt2], VarManager::fgValues[VarManager::kEta2], VarManager::fgValues[VarManager::kPhi2]);
1998+
}
1999+
}
2000+
}
19742001
if constexpr (TPairType == VarManager::kDecayToMuMu) {
19752002
fHistMan->FillHistClass(histNames[icut][0].Data(), VarManager::fgValues);
19762003
if (isAmbiInBunch) {

0 commit comments

Comments
 (0)