]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/trigger/tasks/AliAnalysisTasktrigger.h
end-of-line normalization
[u/mrichter/AliRoot.git] / HLT / trigger / tasks / AliAnalysisTasktrigger.h
CommitLineData
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
14class TH1F;
15class AliESDEvent;
16class AliMCEvent;
17class AliKineTrackCuts;
18
19#include "AliStack.h"
20#include "TParticle.h"
21#include "TRandom3.h"
22
23class 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