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