Skip to content

Commit aff5d9a

Browse files
authored
PWGEM: add DCA to SmearedTracks table (#7026)
* fix constructors * change structure of res file * add DCA to smearing task * MegaLinter * MegaLinter2
1 parent d9b0ce1 commit aff5d9a

3 files changed

Lines changed: 188 additions & 92 deletions

File tree

PWGDQ/DataModel/ReducedInfoTables.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -512,10 +512,11 @@ DECLARE_SOA_COLUMN(PtSmeared, ptSmeared, float);
512512
DECLARE_SOA_COLUMN(EtaSmeared, etaSmeared, float);
513513
DECLARE_SOA_COLUMN(PhiSmeared, phiSmeared, float);
514514
DECLARE_SOA_COLUMN(Efficiency, efficiency, float);
515+
DECLARE_SOA_COLUMN(DCA, dca, float);
515516
} // namespace smearedtrack
516517

517518
DECLARE_SOA_TABLE(SmearedTracks, "AOD", "SMEAREDTRACK", // use like this Join<ReducedMCTracks, SmearedTracks>
518-
smearedtrack::PtSmeared, smearedtrack::EtaSmeared, smearedtrack::PhiSmeared, smearedtrack::Efficiency);
519+
smearedtrack::PtSmeared, smearedtrack::EtaSmeared, smearedtrack::PhiSmeared, smearedtrack::Efficiency, smearedtrack::DCA);
519520
using SmearedTrack = SmearedTracks::iterator;
520521

521522
namespace dilepton_track_index

PWGEM/Dilepton/Tasks/smearing.cxx

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,12 @@ struct ApplySmearing {
4343
Configurable<std::string> fConfigResPhiNegHistName{"cfgResPhiNegHistName", "PhiEleResArr", "hisogram for phi neg in resolution file"};
4444
Configurable<std::string> fConfigEffFileName{"cfgEffFileName", "", "name of efficiency file"};
4545
Configurable<std::string> fConfigEffHistName{"cfgEffHistName", "fhwEffpT", "name of efficiency histogram"};
46+
Configurable<std::string> fConfigDCAFileName{"cfgDCAFileName", "", "name of DCA template file"};
47+
Configurable<std::string> fConfigDCAHistName{"cfgDCAHistName", "fh_DCAtempaltes", "histogram name of the DCA templates"};
4648
Configurable<bool> fFromCcdb{"cfgFromCcdb", false, "get resolution and efficiency histos from CCDB"};
4749
Configurable<std::string> fConfigCcdbPathRes{"cfgCcdbPathRes", "", "path to the ccdb object for resolution"};
4850
Configurable<std::string> fConfigCcdbPathEff{"cfgCcdbPahtEff", "", "path to the ccdb object for efficiency"};
51+
Configurable<std::string> fConfigCcdbPathDCA{"cfgCcdbPahtDCA", "", "path to the ccdb object for dca"};
4952
Configurable<std::string> fConfigCcdbUrl{"cfgCcdbUrl", "http://alice-ccdb.cern.ch", "url of the ccdb repository"};
5053
Configurable<int64_t> fConfigCcdbNoLaterThan{"cfgCcdbNoLaterThan", std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::system_clock::now().time_since_epoch()).count(), "latest acceptable timestamp of creation for the object"};
5154

@@ -61,13 +64,16 @@ struct ApplySmearing {
6164
smearer.setResPhiNegHistName(TString(fConfigResPhiNegHistName));
6265
smearer.setEffFileName(TString(fConfigEffFileName));
6366
smearer.setEffHistName(TString(fConfigEffHistName));
67+
smearer.setDCAFileName(TString(fConfigDCAFileName));
68+
smearer.setDCAHistName(TString(fConfigDCAHistName));
6469
if (fFromCcdb) {
6570
ccdb->setURL(fConfigCcdbUrl);
6671
ccdb->setCaching(true);
6772
ccdb->setLocalObjectValidityChecking();
6873
ccdb->setCreatedNotAfter(fConfigCcdbNoLaterThan);
6974
smearer.setCcdbPathRes(TString(fConfigCcdbPathRes));
7075
smearer.setCcdbPathEff(TString(fConfigCcdbPathEff));
76+
smearer.setCcdbPathDCA(TString(fConfigCcdbPathDCA));
7177
smearer.setTimestamp(fConfigCcdbNoLaterThan);
7278
smearer.setCcdb(ccdb);
7379
}
@@ -82,6 +88,7 @@ struct ApplySmearing {
8288
float etagen = mctrack.eta();
8389
float phigen = mctrack.phi();
8490
float efficiency = 1.;
91+
float dca = 0.;
8592

8693
int pdgCode = mctrack.pdgCode();
8794
if (abs(pdgCode) == fPdgCode) {
@@ -94,10 +101,13 @@ struct ApplySmearing {
94101
smearer.applySmearing(ch, ptgen, etagen, phigen, ptsmeared, etasmeared, phismeared);
95102
// get the efficiency
96103
efficiency = smearer.getEfficiency(ptgen, etagen, phigen);
97-
smearedtrack(ptsmeared, etasmeared, phismeared, efficiency);
104+
// get DCA
105+
dca = smearer.getDCA(ptsmeared);
106+
// fill the table
107+
smearedtrack(ptsmeared, etasmeared, phismeared, efficiency, dca);
98108
} else {
99109
// don't apply smearing
100-
smearedtrack(ptgen, etagen, phigen, efficiency);
110+
smearedtrack(ptgen, etagen, phigen, efficiency, dca);
101111
}
102112
}
103113
}

0 commit comments

Comments
 (0)