@@ -212,78 +212,6 @@ struct SGCandProducer {
212212 outputTracksLabel (track.globalIndex ());
213213 }
214214
215- // function to process trigger counters, accounting for BC selection bits
216- void processCountersTrg (BCs const & bcs, aod::FT0s const &, aod::Zdcs const &)
217- {
218- const auto & firstBc = bcs.iteratorAt (0 );
219- if (runNumber != firstBc.runNumber ())
220- runNumber = firstBc.runNumber ();
221-
222- auto hCountersTrg = getHist (TH1, " reco/hCountersTrg" );
223- auto hCountersTrgBcSel = getHist (TH1, " reco/hCountersTrgBcSel" );
224- auto hLumi = getHist (TH1, " reco/hLumi" );
225- auto hLumiBcSel = getHist (TH1, " reco/hLumiBcSel" );
226-
227- // Cross sections in ub. Using dummy -1 if lumi estimator is not reliable
228- float csTCE = 10.36e6 ;
229- const float csZEM = 415.2e6 ; // see AN: https://alice-notes.web.cern.ch/node/1515
230- const float csZNC = 214.5e6 ; // see AN: https://alice-notes.web.cern.ch/node/1515
231- if (runNumber > 543437 && runNumber < 543514 ) {
232- csTCE = 8.3e6 ;
233- }
234- if (runNumber >= 543514 ) {
235- csTCE = 4.10e6 ; // see AN: https://alice-notes.web.cern.ch/node/1515
236- }
237-
238- for (const auto & bc : bcs) {
239- bool hasFT0 = bc.has_foundFT0 ();
240- bool hasZDC = bc.has_foundZDC ();
241- if (!hasFT0 && !hasZDC)
242- continue ;
243- bool isSelectedBc = true ;
244- if (rejectAtTFBoundary && !bc.selection_bit (aod::evsel::kNoTimeFrameBorder ))
245- isSelectedBc = false ;
246- if (noITSROFrameBorder && !bc.selection_bit (aod::evsel::kNoITSROFrameBorder ))
247- isSelectedBc = false ;
248- if (hasFT0) {
249- auto ft0TrgMask = bc.ft0 ().triggerMask ();
250- if (TESTBIT (ft0TrgMask, o2::fit::Triggers::bitVertex)) {
251- hCountersTrg->Fill (" TVX" , 1 );
252- if (isSelectedBc)
253- hCountersTrgBcSel->Fill (" TVX" , 1 );
254- }
255- if (TESTBIT (ft0TrgMask, o2::fit::Triggers::bitVertex) && TESTBIT (ft0TrgMask, o2::fit::Triggers::bitCen)) {
256- hCountersTrg->Fill (" TCE" , 1 );
257- hLumi->Fill (" TCE" , 1 . / csTCE);
258- if (isSelectedBc) {
259- hCountersTrgBcSel->Fill (" TCE" , 1 );
260- hLumiBcSel->Fill (" TCE" , 1 . / csTCE);
261- }
262- }
263- }
264- if (hasZDC) {
265- if (bc.selection_bit (aod::evsel::kIsBBZNA ) || bc.selection_bit (aod::evsel::kIsBBZNC )) {
266- hCountersTrg->Fill (" ZEM" , 1 );
267- hLumi->Fill (" ZEM" , 1 . / csZEM);
268- if (isSelectedBc) {
269- hCountersTrgBcSel->Fill (" ZEM" , 1 );
270- hLumiBcSel->Fill (" ZEM" , 1 . / csZEM);
271- }
272- }
273- if (bc.selection_bit (aod::evsel::kIsBBZNC )) {
274- hCountersTrg->Fill (" ZNC" , 1 );
275- hLumi->Fill (" ZNC" , 1 . / csZNC);
276- if (isSelectedBc) {
277- hCountersTrgBcSel->Fill (" ZNC" , 1 );
278- hLumiBcSel->Fill (" ZNC" , 1 . / csZNC);
279- }
280- }
281- }
282- }
283- }
284-
285- PROCESS_SWITCH (SGCandProducer, processCountersTrg, " Produce trigger counters and luminosity histograms" , true );
286-
287215 // function to process reconstructed data
288216 template <typename TCol>
289217 void processReco (std::string histdir, TCol const & collision, BCs const & bcs,
0 commit comments