]>
Commit | Line | Data |
---|---|---|
e1f47419 | 1 | // |
2 | // This class inspects the event | |
3 | // | |
4 | #ifndef ALIFMDMCEVENTINSPECTOR_H | |
5 | #define ALIFMDMCEVENTINSPECTOR_H | |
ffca499d | 6 | /** |
7 | * @file AliFMDMCEventInspector.h | |
8 | * @author Christian Holm Christensen <cholm@dalsgaard.hehi.nbi.dk> | |
9 | * @date Wed Mar 23 14:03:40 2011 | |
10 | * | |
11 | * @brief | |
12 | * | |
13 | * | |
bd6f5206 | 14 | * @ingroup pwglf_forward_aod |
ffca499d | 15 | */ |
e1f47419 | 16 | #include "AliFMDEventInspector.h" |
17 | class AliMCEvent; | |
e308a636 | 18 | class TH2F; |
1f480471 | 19 | class AliStack; |
e1f47419 | 20 | |
21 | /** | |
22 | * This class inspects the event | |
23 | * | |
24 | * @par Input: | |
25 | * - AliESDFMD object possibly corrected for sharing | |
26 | * | |
27 | * @par Output: | |
28 | * - A histogram of v_z of events with triggers. | |
29 | * - A histogram of v_z of events with vertex and triggers | |
30 | * - A histogram of trigger counters | |
31 | * | |
32 | * Note, that these are added to the master output list | |
33 | * | |
34 | * @par Corrections used: | |
35 | * - None | |
36 | * | |
bd6f5206 | 37 | * @ingroup pwglf_forward_algo |
38 | * @ingroup pwglf_forward_mc | |
39 | * @ingroup pwglf_forward_aod | |
e1f47419 | 40 | */ |
41 | class AliFMDMCEventInspector : public AliFMDEventInspector | |
42 | { | |
43 | public: | |
44 | /** | |
45 | * Constructor | |
46 | */ | |
47 | AliFMDMCEventInspector(); | |
48 | /** | |
49 | * Constructor | |
50 | * | |
51 | * @param name Name of object | |
52 | */ | |
53 | AliFMDMCEventInspector(const char* name); | |
54 | /** | |
55 | * Copy constructor | |
56 | * | |
57 | * @param o Object to copy from | |
58 | */ | |
59 | AliFMDMCEventInspector(const AliFMDMCEventInspector& o); | |
60 | /** | |
61 | * Destructor | |
62 | */ | |
63 | virtual ~AliFMDMCEventInspector(); | |
64 | /** | |
65 | * Assignement operator | |
66 | * | |
67 | * @param o Object to assign from | |
68 | * | |
69 | * @return Reference to this object | |
70 | */ | |
71 | AliFMDMCEventInspector& operator=(const AliFMDMCEventInspector&); | |
72 | ||
73 | /** | |
74 | * Initialize the object | |
75 | * | |
76 | * @param vtxAxis Vertex axis in use | |
77 | */ | |
78 | void Init(const TAxis& vtxAxis); | |
79 | /** | |
80 | * Process MC truth event. Note, returned values are the MC truth | |
81 | * values | |
82 | * | |
83 | * @param event Input event | |
84 | * @param triggers On return, the triggers fired | |
e1f47419 | 85 | * @param ivz On return, the found vertex bin (1-based). A zero |
86 | * means outside of the defined vertex range | |
87 | * @param vz On return, the z position of the interaction | |
ffca499d | 88 | * @param b On return, impact parameter [fm] (if available) |
241cca4d | 89 | * @param b On return, centrality estimate [%] (if available) |
ffca499d | 90 | * @param npart On return, number of participants (if available) |
91 | * @param nbin On return, number of binary collisions (if available) | |
92 | * @param phiR On return, reaction plane angle (if available) | |
e1f47419 | 93 | * |
94 | * @return 0 (or kOk) on success, otherwise a bit mask of error codes | |
95 | */ | |
96 | UInt_t ProcessMC(AliMCEvent* event, | |
97 | UInt_t& triggers, | |
98 | UShort_t& ivz, | |
99 | Double_t& vz, | |
100 | Double_t& b, | |
241cca4d | 101 | Double_t& c, |
e308a636 | 102 | Int_t& npart, |
103 | Int_t& nbin, | |
e1f47419 | 104 | Double_t& phiR); |
e308a636 | 105 | /** |
106 | * Compare the result of analysing the ESD for | |
107 | * the inclusive charged particle density to analysing | |
108 | * MC truth | |
109 | * | |
ffca499d | 110 | * @param vz Found @f$ v_z@f$ |
111 | * @param trueVz True @f$ v_z@f$ | |
112 | * @param cent Centrality | |
113 | * @param b Impact parameter (if available) | |
114 | * @param npart Number of participants (if available) | |
115 | * @param nbin Number of binary collisions (if available) | |
e308a636 | 116 | * |
ffca499d | 117 | * @return true |
e308a636 | 118 | */ |
119 | virtual Bool_t CompareResults(Double_t vz, Double_t trueVz, | |
120 | Double_t cent, Double_t b, | |
121 | Int_t npart, Int_t nbin); | |
f7cfc454 | 122 | /** |
123 | * Store information about running conditions in output list | |
124 | * | |
125 | * The 3 TNamed objects from AliFMDEventInspector::StoreInformation | |
126 | * are defined. In addition, a fourth TNamed object is defined. | |
127 | * The presence of this indicate MC data. | |
128 | * | |
129 | * - mc Nothing special, and unique id is 1 | |
9b2f2e39 | 130 | * |
131 | * @param runNo Run number | |
f7cfc454 | 132 | */ |
9b2f2e39 | 133 | virtual void StoreInformation(Int_t runNo); |
f7cfc454 | 134 | /** |
135 | * Read the production details | |
136 | * | |
137 | * @param event MC event | |
138 | */ | |
139 | virtual void ReadProductionDetails(AliMCEvent* event); | |
e1f47419 | 140 | protected: |
1f480471 | 141 | /** |
142 | * Check if the event is single diffractive | |
143 | * | |
144 | * @param stack Stack of MC particles | |
145 | * @param xiMin Lower cut off | |
146 | * @param xiMax Upper cut off | |
147 | * | |
148 | * @return | |
149 | */ | |
150 | Bool_t IsSingleDiffractive(AliStack* stack, | |
151 | Double_t xiMin=0, | |
152 | Double_t xiMax=1./81) const; | |
241cca4d | 153 | virtual Bool_t CheckFastPartition(bool) const { return false; } |
154 | ||
e308a636 | 155 | TH1F* fHVertex; // Histogram of vertex |
156 | TH1F* fHPhiR; // Histogram of event plane | |
157 | TH1F* fHB; // Histogram of impact parameter | |
158 | TH2F* fHBvsPart; // Impact parameter vs # participants | |
159 | TH2F* fHBvsBin; // Impact parameter vs # participants | |
160 | TH2F* fHBvsCent; // Impact parameter vs centrality | |
161 | TH2F* fHVzComp; // True vs reconstructed vz | |
162 | TH2F* fHCentVsPart; // Centrality versus # participants | |
163 | TH2F* fHCentVsBin; // Centrality versus # binary collisions | |
f7cfc454 | 164 | TString fProduction; // Production information |
165 | ClassDef(AliFMDMCEventInspector,3); // Inspect the event | |
e1f47419 | 166 | }; |
167 | ||
168 | #endif | |
169 | // Local Variables: | |
170 | // mode: C++ | |
171 | // End: | |
172 | ||
173 | ||
174 |