1 #ifndef ALIANALYSISTASKTRIGGERSTUDY_H
2 #define ALIANALYSISTASKTRIGGERSTUDY_H
4 #include "AliAnalysisTaskSE.h"
6 //-------------------------------------------------------------------------
7 // AliAnalysisTaskTriggerStudy
12 // Author: Michele Floris, CERN
13 //-------------------------------------------------------------------------
17 class AliESDtrackCuts;
18 class AliHistoListWrapper;
19 class AliTriggerAnalysis;
20 class AliAnalysisTaskTriggerStudy : public AliAnalysisTaskSE {
22 // offline trigger enum
23 enum {kC0MBS1,kC0MBS2,kC0MBS3,kC0MBS4,kC0MBS5,kC0VBA,kC0VBC,kC0OM2,kCO0M3};
24 // enum for triggers to be included in the venn-like histogram
25 // enum {kVDC0MBS1,kVDC0MBS2,kVDC0VBA,kVDC0VBC,kVDC0OM2,kNVDEntries};
26 // enum {kVDC0MBS1,kVDC0MBS2,kVDC0VBA,kVDC0VBC,kNVDEntries};
27 // enum {kVDV0AND,kVDV0OR,kVDNTRACKS,kNVDEntries};// Venn diagram for Federico, 7 teV
28 enum {kVDV0ANDOnline,kVDV0ANDOffline,kVDPhysSel, kVDRecCandle,kNVDEntries};// Venn diagram for Federico, 7 teV
32 AliAnalysisTaskTriggerStudy();
33 AliAnalysisTaskTriggerStudy(const char * name);
34 AliAnalysisTaskTriggerStudy(const AliAnalysisTaskTriggerStudy& obj) ;
35 ~AliAnalysisTaskTriggerStudy();
37 void SetIsMC(Bool_t flag=kTRUE) { fIsMC = flag;}
38 AliHistoListWrapper * GetHistoList() { return fHistoList;}
41 TH1 * GetHistoTracklets (const char * name, const char * title);
42 TH1 * GetHistoPt(const char * name, const char * title);
43 TH1 * GetHistoEta(const char * name, const char * title);
44 TH1 * GetHistoV0M(const char * name, const char * title);
45 TH1 * GetHistoSPD1(const char * name, const char * title);
46 TH1 * GetHistoTracks(const char * name, const char * title);
47 TH1 * GetHistoCorrelationSPDTPCVz(const char * name, const char * title);
48 TH1 * GetHistoCorrelationContrTPCSPDCls (const char * name, const char * title);
49 TH1 * GetHistoCorrelationTrackletsSPDCls (const char * name, const char * title);
50 void FillTriggerOverlaps (const char * name, const char * title, Bool_t * vdArray) ;
52 void SetNTrackletsCut(Int_t cut){ fNTrackletsCut = cut;}
53 void SetNTrackletsCutKine(Int_t cut){ fNTrackletsCutKine = cut;}
54 void SetRejectBGWithV0(Bool_t flag) { fRejectBGWithV0 = flag;}
57 virtual void UserCreateOutputObjects();
58 virtual void UserExec(Option_t *option);
59 virtual void Terminate(Option_t *);
66 AliESDEvent * fESD; //! ESD object AliVEvent* fEvent;
67 AliHistoListWrapper * fHistoList; // wrapper for the list, takes care of merging + histo booking and getters
68 Bool_t fIsMC; // true if processing montecarlo
70 AliTriggerAnalysis * fTriggerAnalysis; // trigger analysis object, to get the offline triggers
71 TString fHistoSuffix; // suffix appended to all histos, set in the user exec.
73 Int_t fNTrackletsCut; // max number of tracklets
74 Int_t fNTrackletsCutKine; // max number of tracklets (only for kinematic distributions)
76 Bool_t fRejectBGWithV0; // Reject the BG with the V0
78 static const char * kVDNames[]; // names of the venn hist
79 AliAnalysisTaskTriggerStudy& operator=(const AliAnalysisTaskTriggerStudy& task);
81 ClassDef(AliAnalysisTaskTriggerStudy, 2)