Skip to content

Commit bbe2239

Browse files
committed
Added some eff histograms
1 parent 10318ba commit bbe2239

1 file changed

Lines changed: 64 additions & 45 deletions

File tree

PWGCF/EbyEFluctuations/Tasks/netchargeFluctuations.cxx

Lines changed: 64 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,6 @@ enum RunType {
6060
// Structure to handle net charge fluctuation analysis
6161
struct NetchargeFluctuations {
6262

63-
// Macro to define configurable parameters with default values and help text
64-
65-
#define O2_DEFINE_CONFIGURABLE(NAME, TYPE, DEFAULT, HELP) \
66-
Configurable<TYPE> NAME{#NAME, (DEFAULT), (HELP)};
67-
6863
// Services for PDG and CCDB (Calibration and Condition Database)
6964
Service<o2::framework::O2DatabasePDG> pdgService{}; // Particle data group service
7065
Service<o2::ccdb::BasicCCDBManager> ccdb{}; // CCDB manager service
@@ -140,15 +135,17 @@ struct NetchargeFluctuations {
140135
Configurable<bool> cPVcont{"cPVcont", false, "primary vertex contributor"};
141136

142137
// Configurable to enable multiplicity correlation cuts
143-
O2_DEFINE_CONFIGURABLE(cfgEvSelMultCorrelation, bool, false, "Multiplicity correlation cut")
138+
Configurable<bool> cfgEvSelMultCorrelation{"cfgEvSelMultCorrelation", false, "Multiplicity correlation cut"};
144139

145140
// Struct grouping multiplicity vs centrality/vertex cuts and related parameters
146141
struct : ConfigurableGroup {
147142

148143
// Flags to enable specific multiplicity correlation cuts
149-
O2_DEFINE_CONFIGURABLE(cfgMultPVT0CCutEnabled, bool, true, "Enable PV multiplicity vs T0C centrality cut")
150-
O2_DEFINE_CONFIGURABLE(cfgMultGlobalFT0CCutEnabled, bool, true, "Enable globalTracks vs FT0C multiplicity cut")
151-
O2_DEFINE_CONFIGURABLE(cfgMultGlobalPVCutEnabled, bool, true, "Enable globalTracks vs PV multiplicity cut")
144+
Configurable<bool> cfgMultPVT0CCutEnabled{"cfgMultPVT0CCutEnabled", true, "Enable PV multiplicity vs T0C centrality cut"};
145+
146+
Configurable<bool> cfgMultGlobalFT0CCutEnabled{"cfgMultGlobalFT0CCutEnabled", true, "Enable globalTracks vs FT0C multiplicity cut"};
147+
148+
Configurable<bool> cfgMultGlobalPVCutEnabled{"cfgMultGlobalPVCutEnabled", true, "Enable globalTracks vs PV multiplicity cut"};
152149

153150
// Parameter values for PV multiplicity vs FT0C centrality cut (polynomial coefficients, etc.)
154151
Configurable<std::vector<double>> cfgMultPVT0CCutPars{"cfgMultPVT0CCutPars",
@@ -450,8 +447,8 @@ struct NetchargeFluctuations {
450447
ccdb->setLocalObjectValidityChecking();
451448

452449
auto* list = ccdb->getForTimeStamp<TList>(cfgPathCCDB.value, 1);
453-
efficiencyPos = static_cast<TH2D*>(list->FindObject("efficiency_Pos"));
454-
efficiencyNeg = static_cast<TH2D*>(list->FindObject("efficiency_Neg"));
450+
efficiencyPos = dynamic_cast<TH2D*>(list->FindObject("efficiency_Pos"));
451+
efficiencyNeg = dynamic_cast<TH2D*>(list->FindObject("efficiency_Neg"));
455452
// Log fatal error if efficiency histogram is not found
456453
if (!efficiencyPos || !efficiencyNeg) {
457454
LOGF(info, "FATAL!! Could not find required histograms in CCDB");
@@ -463,26 +460,31 @@ struct NetchargeFluctuations {
463460
{
464461
if (cfgFunCoeff.cfgMultPVT0CCutEnabled) {
465462

466-
if (pvTrack < cfgFunCoeff.fMultPVT0CCutLow->Eval(centrality))
463+
if (pvTrack < cfgFunCoeff.fMultPVT0CCutLow->Eval(centrality)) {
467464
return false;
468-
if (pvTrack > cfgFunCoeff.fMultPVT0CCutHigh->Eval(centrality))
465+
}
466+
if (pvTrack > cfgFunCoeff.fMultPVT0CCutHigh->Eval(centrality)) {
469467
return false;
468+
}
470469
}
471-
472470
if (cfgFunCoeff.cfgMultGlobalFT0CCutEnabled) {
473471

474-
if (globalNch < cfgFunCoeff.fMultGlobalFT0CCutLow->Eval(centrality))
472+
if (globalNch < cfgFunCoeff.fMultGlobalFT0CCutLow->Eval(centrality)) {
475473
return false;
476-
if (globalNch > cfgFunCoeff.fMultGlobalFT0CCutHigh->Eval(centrality))
474+
}
475+
if (globalNch > cfgFunCoeff.fMultGlobalFT0CCutHigh->Eval(centrality)) {
477476
return false;
477+
}
478478
}
479479

480480
if (cfgFunCoeff.cfgMultGlobalPVCutEnabled) {
481481

482-
if (globalNch < cfgFunCoeff.fMultGlobalPVCutLow->Eval(pvTrack))
482+
if (globalNch < cfgFunCoeff.fMultGlobalPVCutLow->Eval(pvTrack)) {
483483
return false;
484-
if (globalNch > cfgFunCoeff.fMultGlobalPVCutHigh->Eval(pvTrack))
484+
}
485+
if (globalNch > cfgFunCoeff.fMultGlobalPVCutHigh->Eval(pvTrack)) {
485486
return false;
487+
}
486488
}
487489

488490
return true;
@@ -492,8 +494,9 @@ struct NetchargeFluctuations {
492494
bool selCollision(C const& coll, float& cent, float& mult)
493495
{
494496

495-
if (std::abs(coll.posZ()) >= vertexZcut)
497+
if (std::abs(coll.posZ()) >= vertexZcut) {
496498
return false;
499+
}
497500
if constexpr (run == kRun3) {
498501
if (cSel8Trig && !coll.sel8()) {
499502
return false;
@@ -517,19 +520,24 @@ struct NetchargeFluctuations {
517520
mult = coll.multFV0M(); // multiplicity for run2
518521
}
519522

520-
if (cNoItsROBorder && !coll.selection_bit(aod::evsel::kNoITSROFrameBorder))
523+
if (cNoItsROBorder && !coll.selection_bit(aod::evsel::kNoITSROFrameBorder)) {
521524
return false;
522-
if (cTFBorder && !coll.selection_bit(aod::evsel::kNoTimeFrameBorder))
525+
}
526+
if (cTFBorder && !coll.selection_bit(aod::evsel::kNoTimeFrameBorder)) {
523527
return false;
524-
if (cPileupReject && !coll.selection_bit(aod::evsel::kNoSameBunchPileup))
528+
}
529+
if (cPileupReject && !coll.selection_bit(aod::evsel::kNoSameBunchPileup)) {
525530
return false;
526-
if (cZVtxTimeDiff && !coll.selection_bit(aod::evsel::kIsGoodZvtxFT0vsPV))
531+
}
532+
if (cZVtxTimeDiff && !coll.selection_bit(aod::evsel::kIsGoodZvtxFT0vsPV)) {
527533
return false;
528-
if (cItsTpcVtx && !coll.selection_bit(aod::evsel::kIsVertexITSTPC))
534+
}
535+
if (cItsTpcVtx && !coll.selection_bit(aod::evsel::kIsVertexITSTPC)) {
529536
return false;
530-
if (cfgUseGoodItsLayerAllCut && !(coll.selection_bit(aod::evsel::kIsGoodITSLayersAll)))
537+
}
538+
if (cfgUseGoodItsLayerAllCut && !(coll.selection_bit(aod::evsel::kIsGoodITSLayersAll))) {
531539
return false;
532-
540+
}
533541
return true;
534542
}
535543

@@ -564,26 +572,36 @@ struct NetchargeFluctuations {
564572
template <typename T>
565573
bool selTrack(T const& track)
566574
{
567-
if (!track.isGlobalTrack())
575+
if (!track.isGlobalTrack()) {
568576
return false;
569-
if (cPVcont && !track.isPVContributor())
577+
}
578+
if (cPVcont && !track.isPVContributor()) {
570579
return false;
571-
if (std::fabs(track.eta()) >= etaCut)
580+
}
581+
if (std::fabs(track.eta()) >= etaCut) {
572582
return false;
573-
if (track.pt() <= ptMinCut || track.pt() >= ptMaxCut)
583+
}
584+
if (track.pt() <= ptMinCut || track.pt() >= ptMaxCut) {
574585
return false;
575-
if (track.sign() == 0)
586+
}
587+
if (track.sign() == 0) {
576588
return false;
577-
if (cDcaXy && std::fabs(track.dcaXY()) >= dcaXYCut)
589+
}
590+
if (cDcaXy && std::fabs(track.dcaXY()) >= dcaXYCut) {
578591
return false;
579-
if (cDcaZ && std::fabs(track.dcaZ()) >= dcaZCut)
592+
}
593+
if (cDcaZ && std::fabs(track.dcaZ()) >= dcaZCut) {
580594
return false;
581-
if (cTpcCr && track.tpcNClsCrossedRows() <= tpcCrossCut)
595+
}
596+
if (cTpcCr && track.tpcNClsCrossedRows() <= tpcCrossCut) {
582597
return false;
583-
if (cItsChi && track.itsChi2NCl() >= itsChiCut)
598+
}
599+
if (cItsChi && track.itsChi2NCl() >= itsChiCut) {
584600
return false;
585-
if (cTpcChi && track.tpcChi2NCl() >= tpcChiCut)
601+
}
602+
if (cTpcChi && track.tpcChi2NCl() >= tpcChiCut) {
586603
return false;
604+
}
587605

588606
return true;
589607
}
@@ -653,7 +671,7 @@ struct NetchargeFluctuations {
653671
return;
654672
}
655673

656-
float globalNch = tracks.size();
674+
auto globalNch = tracks.size();
657675
float pvTrack = coll.multNTracksPV();
658676

659677
histogramRegistry.fill(HIST("QA/hCentFT0C"), cent);
@@ -752,8 +770,8 @@ struct NetchargeFluctuations {
752770
return;
753771
}
754772

755-
int globalNch = inputTracks.size();
756-
int pvTrack = coll.multNTracksPV();
773+
auto globalNch = inputTracks.size();
774+
float pvTrack = coll.multNTracksPV();
757775

758776
histogramRegistry.fill(HIST("QA/hCentFT0C"), cent);
759777
histogramRegistry.fill(HIST("QA/hNchGlobal"), globalNch);
@@ -948,13 +966,13 @@ struct NetchargeFluctuations {
948966
return;
949967
}
950968

951-
int globalNch = tracks.size();
952-
int pvTrack = coll.multNTracksPV();
969+
auto globalNch = tracks.size();
970+
float pvTrack = coll.multNTracksPV();
953971
if (cfgEvSelMultCorrelation && !eventSelected(globalNch, pvTrack, cent)) {
954972
return;
955973
}
956974

957-
if (!(cent >= centMin && cent < centMax)) {
975+
if (cent < centMin || cent >= centMax) {
958976
return;
959977
}
960978
histogramRegistry.fill(HIST("data/delta_eta_cent"), cent);
@@ -1070,15 +1088,16 @@ struct NetchargeFluctuations {
10701088
return;
10711089
}
10721090

1073-
int globalNch = inputTracks.size();
1074-
int pvTrack = coll.multNTracksPV();
1091+
auto globalNch = inputTracks.size();
1092+
float pvTrack = coll.multNTracksPV();
10751093
if (cfgEvSelMultCorrelation && !eventSelected(globalNch, pvTrack, cent)) {
10761094
return;
10771095
}
10781096

1079-
if (!(cent >= centMin && cent < centMax)) {
1097+
if (cent < centMin || cent >= centMax) {
10801098
return;
10811099
}
1100+
10821101
histogramRegistry.fill(HIST("data/delta_eta_cent"), cent);
10831102

10841103
float deltaEtaWidth = deta2 - deta1 + 1e-5f;

0 commit comments

Comments
 (0)