]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/trigger/tasks/AliAnalysisTasktrigger.h
Fixes for coverity
[u/mrichter/AliRoot.git] / HLT / trigger / tasks / AliAnalysisTasktrigger.h
1 //-*- Mode: C++ -*-\r
2 \r
3 #ifndef ALIANALYSISTASKTRIGGER_H\r
4 #define ALIANALYSISTASKTRIGGER_H\r
5 \r
6 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *\r
7  * See cxx source for full Copyright notice                               */\r
8 \r
9 // Study trigger efficiencies for high-pt trigger\r
10 // Author: Jochen Thaeder <jochen@thaeder.de> \r
11 \r
12 #include "AliAnalysisTaskSE.h"\r
13 \r
14 class TH1F;\r
15 class AliESDEvent;\r
16 class AliMCEvent;\r
17 class AliKineTrackCuts;\r
18 \r
19 #include "AliStack.h"\r
20 #include "TParticle.h"\r
21 #include "TRandom3.h"\r
22 \r
23 class AliAnalysisTasktrigger : public AliAnalysisTaskSE {\r
24 \r
25  public:\r
26 \r
27   /*\r
28    * ---------------------------------------------------------------------------------\r
29    *                            Constructor / Destructor\r
30    * ---------------------------------------------------------------------------------\r
31    */\r
32 \r
33   AliAnalysisTasktrigger(const char *name = "AliAnalysisTasktrigger");\r
34   virtual ~AliAnalysisTasktrigger();\r
35   \r
36   /*\r
37    * ---------------------------------------------------------------------------------\r
38    *                                    Methods\r
39    * ---------------------------------------------------------------------------------\r
40    */\r
41 \r
42   virtual void UserCreateOutputObjects();\r
43   virtual void UserExec(Option_t *option);\r
44 \r
45   ///////////////////////////////////////////////////////////////////////////////////\r
46 \r
47  private:\r
48 \r
49   AliAnalysisTasktrigger(const AliAnalysisTasktrigger&); // not implemented\r
50   AliAnalysisTasktrigger& operator=(const AliAnalysisTasktrigger&); // not implemented\r
51 \r
52   /*\r
53    * ---------------------------------------------------------------------------------\r
54    *                            Setup Methods - private\r
55    * ---------------------------------------------------------------------------------\r
56    */\r
57 \r
58   Bool_t SetupEvent();\r
59 \r
60   void   SetupESDTrackCuts();  \r
61 \r
62   void   SetupTrigHistograms();\r
63   void   SetupPtHistograms();\r
64   void   SetupMultHistograms();\r
65 \r
66   /*\r
67    * ---------------------------------------------------------------------------------\r
68    *                            Helper Methods - private\r
69    * ---------------------------------------------------------------------------------\r
70    */\r
71   \r
72   TParticle* GetChargedPhysicalPrimary( AliStack* stack, Int_t idx );\r
73   Bool_t IsFindableMC(Int_t idx, Float_t length);\r
74 \r
75   void AddTriggerHist( TH1F* hist );\r
76   void AddPtHist( TH1F* hist );\r
77   void AddMultHist( TH1F* hist );\r
78   \r
79   /*\r
80    * ---------------------------------------------------------------------------------\r
81    *                            Trigger Methods - private\r
82    * ---------------------------------------------------------------------------------\r
83    */\r
84   \r
85   void EvaluateTrigger();\r
86 \r
87   /*\r
88    * ---------------------------------------------------------------------------------\r
89    *                              Fill Methods - private\r
90    * ---------------------------------------------------------------------------------\r
91    */\r
92 \r
93   void FillCutStudies( Int_t mode );\r
94   void FillCounters( Int_t mode );\r
95   void FillTriggerHistograms();\r
96 \r
97   void FillTriggerStudies();\r
98   void FillTriggerStudiesMC();\r
99 \r
100   /*\r
101    * ---------------------------------------------------------------------------------\r
102    *                         Static Members - private\r
103    * ---------------------------------------------------------------------------------\r
104    */\r
105 \r
106   static const Int_t     fgkNSettings;       // N Settings\r
107   static const Int_t     fgkNTrigger;        // N Trigger \r
108 \r
109   static const Double_t  fgkTriggerPt[];     // Array of Pt Settings\r
110   static const Char_t   *fgkTrigger[];       // Array of Trigger Names\r
111 \r
112   static const Int_t     fgkNSelectionCuts;  // N Selection and Cut Types\r
113   static const Char_t   *fgkSelectionCuts[]; // Selection and Cut Types\r
114 \r
115   enum mode {kOFF, kHLT, kMC, kNModes};\r
116 \r
117   /*\r
118    * ---------------------------------------------------------------------------------\r
119    *                             Members - private\r
120    * ---------------------------------------------------------------------------------\r
121    */\r
122   TRandom3        *fRandom;                  //! Random Generator\r
123 \r
124   AliMCEvent      *fMC;                      //! MC object\r
125   AliESDEvent     *fESD;                     //! ESD object\r
126   AliESDEvent     *fESDHLT;                  //! ESD - HLT object\r
127 \r
128   AliESDtrackCuts *fESDTrackCuts;            //! ESD cuts  \r
129   AliESDtrackCuts *fESDHLTTrackCuts;         //! HLT adopted track cuts \r
130   AliKineTrackCuts*fMCTrackCuts;             //! MC track cuts\r
131 \r
132   Bool_t           fIsSelected;              //! Event Selected by physics selection + Primary Vertex\r
133   Bool_t           fIsSelectedHLT;           //! HLT Event Selected by physics selection + Primary Vertex\r
134   Bool_t           fIsSelectedMC;            //! MC Event Selected by physics selection + Primary Vertex\r
135 \r
136   Bool_t           fIsSelectedTask;          //! Event Selected by physics selection\r
137 \r
138   TObjArray       *fOutputContainer;         //! output data container\r
139 \r
140   // --------------------------------------------------------------------\r
141 \r
142   Int_t           *fPtCount;                 //! Pt count per setting [kNModes*fgkTrigger]\r
143   Int_t           *fMultiplicity;            //! Multiplicty counters [fgkNSelectionCuts]\r
144 \r
145   // --------------------------------------------------------------------\r
146 \r
147   Bool_t          *fTrigger;                 // Trigger [kNModes*fgkNTrigger]\r
148 \r
149   ClassDef(AliAnalysisTasktrigger, 3);\r
150 };\r
151 \r
152 #endif\r