#include "AliOADBFillingScheme.h"
#include "AliOADBTriggerAnalysis.h"
+using std::cout;
+using std::endl;
ClassImp(AliPhysicsSelection)
AliPhysicsSelection::AliPhysicsSelection() :
// if(fHistStatisticsTokens)
}
}
-
+
TFormula formula("formula", trigger);
+ if (formula.Compile() > 0)
+ AliFatal(Form("Could not evaluate trigger logic %s (evaluated to %s)", triggerLogic, trigger.Data()));
Bool_t result = formula.Eval(0);
AliDebug(AliLog::kDebug, Form("%s --> %d", trigger.Data(), result));
Bool_t v0ABG = fSkipV0 ? 0 : triggerAnalysis->EvaluateTrigger(aEsd, (AliTriggerAnalysis::Trigger) (AliTriggerAnalysis::kOfflineFlag | AliTriggerAnalysis::kV0ABG));
Bool_t v0CBG = fSkipV0 ? 0 : triggerAnalysis->EvaluateTrigger(aEsd, (AliTriggerAnalysis::Trigger) (AliTriggerAnalysis::kOfflineFlag | AliTriggerAnalysis::kV0CBG));
Bool_t v0BG = v0ABG || v0CBG;
+ Bool_t t0 = triggerAnalysis->EvaluateTrigger(aEsd, (AliTriggerAnalysis::Trigger) (AliTriggerAnalysis::kOfflineFlag | AliTriggerAnalysis::kT0 ));
+ Bool_t t0BG = triggerAnalysis->EvaluateTrigger(aEsd, (AliTriggerAnalysis::Trigger) (AliTriggerAnalysis::kOfflineFlag | AliTriggerAnalysis::kT0BG ));
+ Bool_t t0PileUp = triggerAnalysis->EvaluateTrigger(aEsd, (AliTriggerAnalysis::Trigger) (AliTriggerAnalysis::kOfflineFlag | AliTriggerAnalysis::kT0Pileup));
// fmd
// Bool_t fmdA = triggerAnalysis->EvaluateTrigger(aEsd, (AliTriggerAnalysis::Trigger) (AliTriggerAnalysis::kOfflineFlag | AliTriggerAnalysis::kFMDA));
if(fmd) ntrig += 1;
if(ssdClusters>1) ntrig += 1;*/
+ // // EMCAL offline trigger validation
+ // Bool_t emcCut = triggerAnalysis->EvaluateTrigger(aEsd, (AliTriggerAnalysis::Trigger) (AliTriggerAnalysis::kOfflineFlag | AliTriggerAnalysis::kEMCAL));
// <---
if (v0CBG)
fHistStatistics[iHistStat]->Fill(kStatV0CBG, i);
+ // T0 stats
+ if(t0)
+ fHistStatistics[iHistStat]->Fill(kStatT0BB, i);
+ if(t0BG)
+ fHistStatistics[iHistStat]->Fill(kStatT0BG, i);
+ if(t0PileUp)
+ fHistStatistics[iHistStat]->Fill(kStatT0PileUp, i);
+
// mb 1
if (mb1)
fHistStatistics[iHistStat]->Fill(kStatMB1, i);
AliInfo(Form("Initializing for beam type: %s", aEsd->GetESDRun()->GetBeamType()));
fIsPP = kTRUE;
- if (strcmp(aEsd->GetESDRun()->GetBeamType(), "Pb-Pb") == 0)
+ if (strcmp(aEsd->GetESDRun()->GetBeamType(), "A-A") == 0)
fIsPP = kFALSE;
return Initialize(aEsd->GetRunNumber());
#else
Int_t extrarows = fComputeBG != 0 ? 6 : 0;
#endif
- TH2F * h = new TH2F(Form("fHistStatistics%s",tag), Form("fHistStatistics - %s ;;",tag), kStatAcceptedPileUp, 0.5, kStatAcceptedPileUp+0.5, count+extrarows, -0.5, -0.5 + count+extrarows);
+ TH2F * h = new TH2F(Form("fHistStatistics%s",tag), Form("fHistStatistics - %s ;;",tag), kStatAccepted, 0.5, kStatAccepted+0.5, count+extrarows, -0.5, -0.5 + count+extrarows);
h->GetXaxis()->SetBinLabel(kStatTriggerClass, "Trigger class");
h->GetXaxis()->SetBinLabel(kStatHWTrig, "Hardware trigger");
h->GetXaxis()->SetBinLabel(kStatFO2L1, "FO (L1) >= 2");
h->GetXaxis()->SetBinLabel(kStatV0A, "V0A");
h->GetXaxis()->SetBinLabel(kStatV0C, "V0C");
+ h->GetXaxis()->SetBinLabel(kStatT0BB, "T0");
+ h->GetXaxis()->SetBinLabel(kStatT0BG, "T0BG");
+ h->GetXaxis()->SetBinLabel(kStatT0PileUp, "T0 PileUp");
h->GetXaxis()->SetBinLabel(kStatLaserCut, "TPC Laser Wup Cut");
h->GetXaxis()->SetBinLabel(kStatV0ABG, "V0A BG");
h->GetXaxis()->SetBinLabel(kStatV0CBG, "V0C BG");
h->GetXaxis()->SetBinLabel(kStatOffline, "Offline Trigger");
//h->GetXaxis()->SetBinLabel(kStatAny2Hits, "2 Hits & !V0 BG");
h->GetXaxis()->SetBinLabel(kStatBG, "Background identification");
- h->GetXaxis()->SetBinLabel(kStatAccepted, "Accepted");
h->GetXaxis()->SetBinLabel(kStatAcceptedPileUp, "Pile up (in accepted)");
+ h->GetXaxis()->SetBinLabel(kStatAccepted, "Accepted");
Int_t n = 1;
singleTrigStrFull = singleTrigStr;
}
- TString blacklist = "CEMC7WU-B-NOPF-ALL, CEMC7WU-AC-NOPF-ALL CEMC7WU-E-NOPF-ALL"; // We know we dont support those, so we print no warning
+ TString blacklist = "CEMC7WU-B-NOPF-ALL, CEMC7WU-AC-NOPF-ALL CEMC7WU-E-NOPF-ALL C0LSR-ABCE-NOPF-TPC CBEAMB-B-NOPF-ALLNOTRD"; // We know we dont support those, so we print no warning
if(counts>0 && !found && !blacklist.Contains(singleTrig) && !singleTrigStr.Contains("WU") && !alreadyFoundTriggers.Contains(singleTrig)) {
Printf("WARNING: Found unknown trigger [%s] with %ld counts in the ESD!", singleTrig, counts);
alreadyFoundTriggers += singleTrig; // Avoid printing warning twice for the same trigger