Skip to content

Commit 3f3d816

Browse files
authored
PWGEM/Dilepton: update eventQC (AliceO2Group#8056)
1 parent 368dfb8 commit 3f3d816

File tree

2 files changed

+47
-3
lines changed

2 files changed

+47
-3
lines changed

PWGEM/Dilepton/Tasks/eventQC.cxx

Lines changed: 46 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,15 @@ struct eventQC {
9393
Configurable<float> cfg_max_chi2its{"cfg_max_chi2its", 5.0, "max chi2/NclsITS"};
9494
Configurable<float> cfg_max_dcaxy{"cfg_max_dcaxy", 0.2, "max dca XY for single track in cm"};
9595
Configurable<float> cfg_max_dcaz{"cfg_max_dcaz", 0.2, "max dca Z for single track in cm"};
96+
Configurable<float> cfg_min_TPCNsigmaEl{"cfg_min_TPCNsigmaEl", -1e+10, "min n sigma e in TPC"};
97+
Configurable<float> cfg_max_TPCNsigmaEl{"cfg_max_TPCNsigmaEl", +1e+10, "max n sigma e in TPC"};
98+
Configurable<float> cfg_min_TPCNsigmaPi{"cfg_min_TPCNsigmaPi", 0.0, "min n sigma pi in TPC for exclusion"};
99+
Configurable<float> cfg_max_TPCNsigmaPi{"cfg_max_TPCNsigmaPi", 0.0, "max n sigma pi in TPC for exclusion"};
100+
Configurable<float> cfg_min_TOFNsigmaEl{"cfg_min_TOFNsigmaEl", -1e+10, "min n sigma e in TOF"};
101+
Configurable<float> cfg_max_TOFNsigmaEl{"cfg_max_TOFNsigmaEl", +1e+10, "max n sigma e in TOF"};
102+
Configurable<float> cfg_max_mean_its_cluster_size{"cfg_max_mean_its_cluster_size", 16.f, "max. <ITS cluster size> x cos(lambda)"};
103+
Configurable<float> cfg_max_p_for_its_cluster_size{"cfg_max_p_for_its_cluster_size", 0.0, "ITS cluster size cut is applied below this p"};
104+
Configurable<bool> cfg_requireTOF{"cfg_requireTOF", false, "require TOF hit"};
96105
} trackcuts;
97106

98107
Service<o2::ccdb::BasicCCDBManager> ccdb;
@@ -503,6 +512,40 @@ struct eventQC {
503512
return true;
504513
}
505514

515+
template <typename TTrack>
516+
bool isElectron(TTrack const& track)
517+
{
518+
if (track.tpcNSigmaEl() < trackcuts.cfg_min_TPCNsigmaEl || trackcuts.cfg_max_TPCNsigmaEl < track.tpcNSigmaEl()) {
519+
return false;
520+
}
521+
522+
if (trackcuts.cfg_min_TPCNsigmaPi < track.tpcNSigmaPi() && track.tpcNSigmaPi() < trackcuts.cfg_max_TPCNsigmaPi) {
523+
return false;
524+
}
525+
526+
if (trackcuts.cfg_requireTOF && !track.hasTOF()) {
527+
return false;
528+
}
529+
530+
if (track.hasTOF() && (track.tofNSigmaEl() < trackcuts.cfg_min_TOFNsigmaEl || trackcuts.cfg_max_TOFNsigmaEl < track.tofNSigmaEl())) {
531+
return false;
532+
}
533+
534+
uint32_t itsClusterSizes = track.itsClusterSizes();
535+
int total_cluster_size = 0, nl = 0;
536+
for (unsigned int layer = 0; layer < 7; layer++) {
537+
int cluster_size_per_layer = (itsClusterSizes >> (layer * 4)) & 0xf;
538+
if (cluster_size_per_layer > 0) {
539+
nl++;
540+
}
541+
total_cluster_size += cluster_size_per_layer;
542+
}
543+
if (static_cast<float>(total_cluster_size) / static_cast<float>(nl) * std::cos(std::atan(track.tgl())) > trackcuts.cfg_max_mean_its_cluster_size && track.p() < trackcuts.cfg_max_p_for_its_cluster_size) {
544+
return false;
545+
}
546+
return true;
547+
}
548+
506549
template <typename TCollision>
507550
bool isSelectedEvent(TCollision const& collision)
508551
{
@@ -586,8 +629,9 @@ struct eventQC {
586629
if (!isSelectedTrack(track)) {
587630
continue;
588631
}
589-
fillTrackInfo(track);
590-
632+
if (isElectron(track)) {
633+
fillTrackInfo(track);
634+
}
591635
if (fabs(track.eta()) < 0.8) {
592636
nGlobalTracks++;
593637
if (track.isPVContributor()) {

PWGEM/Dilepton/Utils/EventHistograms.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ template <const int nmod = -1>
2323
void addEventHistograms(HistogramRegistry* fRegistry)
2424
{
2525
// event info
26-
auto hCollisionCounter = fRegistry->add<TH1>("Event/before/hCollisionCounter", "collision counter;;Number of events", kTH1F, {{nbin_ev, 0.5, nbin_ev + 0.5}}, false);
26+
auto hCollisionCounter = fRegistry->add<TH1>("Event/before/hCollisionCounter", "collision counter;;Number of events", kTH1D, {{nbin_ev, 0.5, nbin_ev + 0.5}}, false);
2727
hCollisionCounter->GetXaxis()->SetBinLabel(1, "all");
2828
hCollisionCounter->GetXaxis()->SetBinLabel(2, "FT0AND");
2929
hCollisionCounter->GetXaxis()->SetBinLabel(3, "No TF border");

0 commit comments

Comments
 (0)