Bool_t IsCentralityBinSelected(AliESDEvent* aEsd, AliESDtrackCuts * trackCuts);
- void SetAnalyzeMC(Bool_t flag = kTRUE, Double_t multMin = 0, Double_t multMax=10000) { fIsMC = flag; fMultMin = multMin; fMultMax = multMax; }
- void SetMultRange(Double_t multMin = 0, Double_t multMax=10000) { fMultMin = multMin; fMultMax = multMax; }
+ void SetIsMC(Bool_t flag = kTRUE, Int_t multMin = 0, Int_t multMax=10000) { fIsMC = flag; fMultMin = multMin; fMultMax = multMax; }
+ void SetMultRange(Int_t multMin = 0, Int_t multMax=10000) { fMultMin = multMin; fMultMax = multMax; }
void SetUseMultRange(Bool_t flag = kTRUE) {fUseMultRange = flag;}
void SetCentralityEstimator(const char * estimator) { fCentrEstimator = estimator; }
void SetCentralityBin(Int_t bin) { fCentrBin = bin; }
ClassImp(AliAnalysisTaskTriggerStudy)
-const char * AliAnalysisTaskTriggerStudy::kVDNames[] = {"C0MBS2","C0VBA","C0VBC","C0OM2"};
+const char * AliAnalysisTaskTriggerStudy::kVDNames[] = {"C0SM1","C0SM2","C0VBA","C0VBC","C0OM2"};
AliAnalysisTaskTriggerStudy::AliAnalysisTaskTriggerStudy()
: AliAnalysisTaskSE("TaskTriggerStudy"),
Bool_t c0OM2 = h->IsTriggerInputFired("0OM2"); // thr >= 2 (input 19)
Bool_t c0OM3 = h->IsTriggerInputFired("0OM3"); // thr >= 3 (input 20)
+ // ZDC triggers
+ Bool_t zdcA = fTriggerAnalysis->ZDCTrigger(fESD, AliTriggerAnalysis::kASide) ;
+ Bool_t zdcC = fTriggerAnalysis->ZDCTrigger(fESD, AliTriggerAnalysis::kCSide) ;
+ Bool_t zdcBar = fTriggerAnalysis->ZDCTrigger(fESD, AliTriggerAnalysis::kCentralBarrel) ;
+
// Some macros for the online triggers
Bool_t cMBS2A = c0sm2 && c0v0A;
Bool_t cMBS2C = c0sm2 && c0v0C;
Bool_t vdArray[kNVDEntries];
+ vdArray[kVDC0MBS1] = c0sm1;
vdArray[kVDC0MBS2] = c0sm2;
vdArray[kVDC0VBA] = c0v0A;
vdArray[kVDC0VBC] = c0v0C;
if(c0v0C) GetHistoTracklets("c0v0C" ,"Events were trigger c0v0C fired" )->Fill(ntracklets);
if(cMBS2A) GetHistoTracklets("cMBS2A","Events were trigger cMBS2A fired")->Fill(ntracklets);
if(cMBS2C) GetHistoTracklets("cMBS2C","Events were trigger cMBS2C fired")->Fill(ntracklets);
- if(cMBAC ) GetHistoTracklets("cMBAC ","Events were trigger cMBAC fired")->Fill(ntracklets);
+ if(cMBAC ) GetHistoTracklets("cMBAC", "Events were trigger cMBAC fired")->Fill(ntracklets);
+ if(zdcA ) GetHistoTracklets("cZDCA", "Events were trigger cZDCA fired")->Fill(ntracklets);
+ if(zdcC ) GetHistoTracklets("cZDCC", "Events were trigger cZDCC fired")->Fill(ntracklets);
+ if(zdcBar) GetHistoTracklets("cZDCBar","Events were trigger cZDCB fired")->Fill(ntracklets);
// if() GetHistoTracklets("","Events were trigger fired");
// Fill trigger overlaps
// offline trigger enum
enum {kC0MBS1,kC0MBS2,kC0MBS3,kC0MBS4,kC0MBS5,kC0VBA,kC0VBC,kC0OM2,kCO0M3};
// enum for triggers to be included in the venn-like histogram
- enum {kVDC0MBS2,kVDC0VBA,kVDC0VBC,kVDC0OM2,kNVDEntries};
+ enum {kVDC0MBS1,kVDC0MBS2,kVDC0VBA,kVDC0VBC,kVDC0OM2,kNVDEntries};
public:
-void TriggerStudyResults(const char * filename = "outTrigger/LHC10g1f_130844/trigger_study.root", TString trigger = "MB") {
+void TriggerStudyResults(const char * filename = "outTrigger/collection_136854.xml/trigger_study.root", TString trigger = "C0SM1-A-NOPF-ALL") {
TFile * f = new TFile (filename);
LoadLibs();
// Draw trigger venn diagram
- TH1 * hVenn = (TH1*) f->Get("hTrigStat_All");
+ // hTrigStat_All_C0OM2-A-NOPF-ALL
+ TString vennName = "hTrigStat_All";
+ if (trigger != "") vennName = vennName+"_"+trigger;
+ cout << "Venn name: " << vennName.Data() << endl;
+
+ TH1 * hVenn = (TH1*) f->Get(vennName);
hVenn->Draw();
Int_t colors[] = {2,3,4,5,6,7,8,9,10,11,12,13,14,15};
TPie * pie = new TPie(hVenn);
// pie->SetTextSize(0.01);
pie->Draw("");
- pie->MakeLegend(0.224832, 0.66958, 0.833893, 0.97028);
+ pie->MakeLegend(0.224832, 0.66958, 0.833893, 0.97028, trigger.Data());
cout << pie << endl;
// Make a table of trigger efficiencies for all histos results
// physics selection
gROOT->ProcessLine(".L $ALICE_ROOT/ANALYSIS/macros/AddTaskPhysicsSelection.C");
physicsSelectionTask = AddTaskPhysicsSelection(isMC);
-
+ // FIXME!!
+ AliPhysicsSelection * physSel = physicsSelectionTask->GetPhysicsSelection();
+ physSel->AddCollisionTriggerClass("+CTRUE-B-NOPF-ALL");
+ physSel->AddCollisionTriggerClass("+C0SM1-A-NOPF-ALL");
+ physSel->AddCollisionTriggerClass("+C0SM1-B-NOPF-ALL");
+ physSel->AddCollisionTriggerClass("+C0SM1-C-NOPF-ALL");
+ physSel->AddCollisionTriggerClass("+C0SM1-E-NOPF-ALL");
+ physSel->SetSkipTriggerClassSelection(kTRUE);
// Centrality
AliCentralitySelectionTask *taskCentr = new AliCentralitySelectionTask("CentralitySelection");
const char * file1 = "$ALICE_ROOT/ANALYSIS/macros/test_AliCentralityBy1D.root";
centrSelector->SetCentralityEstimator(centrEstimator);
// FIXME!!!
centrSelector->SetUseMultRange();
- centrSelector->SetMultRange(10,20);
+ centrSelector->SetIsMC(isMC,1000,2000);
+ // centrSelector->SetMultRange(10,20);
// Parse option strings
TString optionStr(option);
// If running in local mode, create chain of ESD files
cout << "RUNNING LOCAL, CHAIN" << endl;
TChain * chain = GetAnalysisChain(data);
- chain->Print();
+ // chain->Print();
mgr->StartAnalysis("local",chain,nev);
} else if (runMode == kMyRunModeCAF) {
mgr->StartAnalysis("proof",TString(data)+"#esdTree",nev);