Skip to content

Commit 4ed4a72

Browse files
committed
Add more flags and option to not use RCT flags
Added muon and muon_glo flags, that check the quality of FV0 and muon arm detectors only (less strict than CBT_muon and CBT_muon_glo that also include ITS and TPC). Added the option to not use RCT flags, selectiong "none" as rctLabel.
1 parent 0192097 commit 4ed4a72

1 file changed

Lines changed: 38 additions & 5 deletions

File tree

PWGUD/TableProducer/UPCCandidateProducer.cxx

Lines changed: 38 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -131,9 +131,10 @@ struct UpcCandProducer {
131131
Configurable<bool> fRequireNoTimeFrameBorder{"requireNoTimeFrameBorder", true, "Require kNoTimeFrameBorder selection bit"};
132132
Configurable<bool> fRequireNoITSROFrameBorder{"requireNoITSROFrameBorder", true, "Require kNoITSROFrameBorder selection bit"};
133133

134-
Configurable<std::string> rctLabel{"rctLabel", "CBT_muon", "RCT label to use, options: CBT, CBT_hadronPID, CBT_electronPID, CBT_calo, CBT_muon, CBT_muon_glo"};
134+
Configurable<std::string> rctLabel{"rctLabel", "muon", "RCT label to use, options: CBT, CBT_hadronPID, CBT_electronPID, CBT_calo, CBT_muon, CBT_muon_glo, muon = FV0 + MID + MCH, muon_glo = muon + MFT, none = do not use RCT flags"};
135135
Configurable<bool> checkZDC{"checkZDC", false, "Consider ZDC quality"};
136136
Configurable<bool> useLAasBad{"useLAasBad", false, "Consider Lim acc flag as Bad"};
137+
bool useRCTflags = true;
137138

138139
// QA histograms
139140
HistogramRegistry histRegistry{"HistRegistry", {}, OutputObjHandlingPolicy::AnalysisObject};
@@ -159,7 +160,39 @@ struct UpcCandProducer {
159160
upcCuts = (UPCCutparHolder)inputCuts;
160161

161162
// initialize RCT flag checker
162-
myRCTChecker.init(rctLabel.value, checkZDC.value, useLAasBad.value);
163+
if (rctLabel.value != "none" && rctLabel.value != "muon" && rctLabel.value != "muon_glo") {
164+
myRCTChecker.init(rctLabel.value, checkZDC.value, useLAasBad.value);
165+
}
166+
else if (rctLabel.value == "none"){
167+
useRCTflags = false;
168+
myRCTChecker.init("CBT_muon");
169+
}
170+
else if (rctLabel.value == "muon"){
171+
std::initializer_list<RCTSelectionFlags> flags = {kFV0Bad, kMCHBad, kMIDBad};
172+
if(checkZDC.value && useLAasBad.value){
173+
flags = {kFV0Bad, kMCHBad, kMIDBad, kZDCBad, kMCHLimAccMCRepr, kMIDLimAccMCRepr};
174+
}
175+
else if(checkZDC.value){
176+
flags = {kFV0Bad, kMCHBad, kMIDBad, kZDCBad};
177+
}
178+
else if(useLAasBad.value){
179+
flags = {kFV0Bad, kMCHBad, kMIDBad, kMCHLimAccMCRepr, kMIDLimAccMCRepr};
180+
}
181+
myRCTChecker.init(flags);
182+
}
183+
else if (rctLabel.value == "muon_glo"){
184+
std::initializer_list<RCTSelectionFlags> flags = {kFV0Bad, kMCHBad, kMIDBad, kMFTBad};
185+
if(checkZDC.value && useLAasBad.value){
186+
flags = {kFV0Bad, kMCHBad, kMIDBad, kMFTBad, kZDCBad, kMCHLimAccMCRepr, kMIDLimAccMCRepr, kMFTLimAccMCRepr};
187+
}
188+
else if(checkZDC.value){
189+
flags = {kFV0Bad, kMCHBad, kMIDBad, kMFTBad, kZDCBad};
190+
}
191+
else if(useLAasBad.value){
192+
flags = {kFV0Bad, kMCHBad, kMIDBad, kMFTBad, kMCHLimAccMCRepr, kMIDLimAccMCRepr, kMFTLimAccMCRepr};
193+
}
194+
myRCTChecker.init(flags);
195+
}
163196

164197
const AxisSpec axisTrgCounters{10, 0.5, 10.5, ""};
165198
histRegistry.add("hCountersTrg", "", kTH1F, {axisTrgCounters});
@@ -704,7 +737,7 @@ struct UpcCandProducer {
704737
const auto& col = trk.collision();
705738
auto bcRCT = col.bc_as<TBCs>();
706739
histRegistry.get<TH1>(HIST("RCTSelCounter"))->Fill(1);
707-
if (!myRCTChecker(bcRCT)) {
740+
if (!myRCTChecker(bcRCT) && useRCTflags) {
708741
histRegistry.get<TH1>(HIST("RCTSelCounter"))->Fill(3);
709742
continue;
710743
}
@@ -754,7 +787,7 @@ struct UpcCandProducer {
754787
const auto& col = trk.collision();
755788
auto bcRCT = col.bc_as<TBCs>();
756789
histRegistry.get<TH1>(HIST("RCTSelCounter"))->Fill(1);
757-
if (!myRCTChecker(bcRCT)) {
790+
if (!myRCTChecker(bcRCT) && useRCTflags) {
758791
histRegistry.get<TH1>(HIST("RCTSelCounter"))->Fill(3);
759792
continue;
760793
}
@@ -801,7 +834,7 @@ struct UpcCandProducer {
801834
const auto& col = trk.collision();
802835
auto bcRCT = col.bc_as<TBCs>();
803836
histRegistry.get<TH1>(HIST("RCTSelCounter"))->Fill(1);
804-
if (!myRCTChecker(bcRCT)) {
837+
if (!myRCTChecker(bcRCT) && useRCTflags) {
805838
histRegistry.get<TH1>(HIST("RCTSelCounter"))->Fill(3);
806839
continue;
807840
}

0 commit comments

Comments
 (0)