3 // $Id: AliHLTMultiplicityCorrelations.h $
4 #ifndef ALIHLTMULTIPLICITYCORRELATIONS_H
5 #define ALIHLTMULTIPLICITYCORRELATIONS_H
7 /* This file is property of and copyright by the ALICE HLT Project *
8 * ALICE Experiment at CERN, All rights reserved. *
9 * See cxx source for full Copyright notice */
11 /** @file AliHLTMultiplicityCorrelations.h
12 @author Jochen Thaeder
14 @brief Correlation plots for multiplicity studies
17 // see below for class documentation
19 // refer to README to build package
21 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
23 #include "AliHLTLogging.h"
25 #include "AliESDtrackCuts.h"
26 #include "AliESDEvent.h"
27 #include "AliESDVZERO.h"
28 #include "AliESDZDC.h"
36 * @class AliHLTMultiplicityCorrelations
38 * @ingroup alihlt_physics
41 class AliHLTMultiplicityCorrelations : public TObject, public AliHLTLogging {
45 * ---------------------------------------------------------------------------------
46 * Constructor / Destructor
47 * ---------------------------------------------------------------------------------
51 AliHLTMultiplicityCorrelations();
54 ~AliHLTMultiplicityCorrelations();
57 * ---------------------------------------------------------------------------------
58 * Initialize / Setup / Reset - public
59 * ---------------------------------------------------------------------------------
62 /** Initialize class and members */
66 * ---------------------------------------------------------------------------------
68 * ---------------------------------------------------------------------------------
71 /** Set ESD track cuts */
72 void SetESDTrackCuts(AliESDtrackCuts *cuts) { fESDTrackCuts = cuts; }
74 /** Set Binning of VZERO */
75 void SetBinningVzero(Int_t i=1, Float_t f1=0., Float_t f2=1.) {
76 fVzeroBinning = i; fVzeroBinningMin = f1; fVzeroBinningMax = f2;
79 /** Set Binning of TPC */
80 void SetBinningTpc(Int_t i=1, Float_t f1=0., Float_t f2=1.) {
81 fTpcBinning = i; fTpcBinningMin = f1; fTpcBinningMax = f2;
84 /** Set Binning of ZDC */
85 void SetBinningZdc(Int_t i=1, Float_t f1=0., Float_t f2=1.) {
86 fZdcBinning = i; fZdcBinningMin = f1; fZdcBinningMax = f2;
89 /** Set Binning of ZEM */
90 void SetBinningZem(Int_t i=1, Float_t f1=0., Float_t f2=1.) {
91 fZemBinning = i; fZemBinningMin = f1; fZemBinningMax = f2;
94 /** Set Binning of ZNP */
95 void SetBinningZnp(Int_t i=1, Float_t f1=0., Float_t f2=1.) {
96 fZnpBinning = i; fZnpBinningMin = f1; fZnpBinningMax = f2;
99 /** Set Binning of CALO */
100 void SetBinningCalo(Int_t i=1, Float_t f1=0., Float_t f2=1.) {
101 fCaloBinning = i; fCaloBinningMin = f1; fCaloBinningMax = f2;
104 /** Set process PHOS */
105 void SetProcessPhos(Bool_t v = true) {
108 /** Set process EMCAL */
109 void SetProcessEmcal(Bool_t v = true) {
114 * ---------------------------------------------------------------------------------
116 * ---------------------------------------------------------------------------------
119 /** Get List of histograms */
120 TList* GetHistList() const { return fHistList; }
123 * ---------------------------------------------------------------------------------
125 * ---------------------------------------------------------------------------------
128 /** Process current event */
129 Int_t ProcessEvent( AliESDEvent *esd );
131 ///////////////////////////////////////////////////////////////////////////////////
135 /** copy constructor prohibited */
136 AliHLTMultiplicityCorrelations(const AliHLTMultiplicityCorrelations&);
138 /** assignment operator prohibited */
139 AliHLTMultiplicityCorrelations& operator=(const AliHLTMultiplicityCorrelations&);
142 * ---------------------------------------------------------------------------------
143 * Initialize / Setup / Reset - private
144 * ---------------------------------------------------------------------------------
148 * param esd Ptr to AliESDEvent
149 * return kTRUE if AliESDEvent and Vertex present
151 Bool_t AddESDEvent( AliESDEvent* esd );
153 /** Setup histograms */
154 Int_t SetupHistograms();
156 /** Setup VZERO histograms */
159 /** Setup ZDC histograms */
162 /** Setup TPC histograms */
165 /** Setup correlation histograms */
166 Int_t SetupCorrelations();
168 /** Setup CALO histograms */
172 * ---------------------------------------------------------------------------------
174 * ---------------------------------------------------------------------------------
177 /** Process current event - TPC */
180 /** Process current event - VZERO */
181 Int_t ProcessVZERO();
183 /** Process current event - ZDC and correlations */
186 /** Process current event - CALO */
192 * ---------------------------------------------------------------------------------
194 * ---------------------------------------------------------------------------------
197 /** List of histograms */
198 TList *fHistList; // see above
200 /** Ptr to AliESDEvent */
201 AliESDEvent *fESDEvent; //! transient
203 /** Ptr to ZDC object in AliESDEvent*/
204 AliESDZDC *fESDZDC; //! transient
206 /** Ptr to VZERO object in AliESDEvent*/
207 AliESDVZERO *fESDVZERO; //! transient
209 /** Ptr to AliESD track cuts */
210 AliESDtrackCuts *fESDTrackCuts; //! transient
212 // -- -- -- -- -- -- -- -- -- -- -- -- -- --
217 /** N ESD tracks accepted */
223 /** N TPC tracks accepted */
235 /** VZERO flagged mult */
236 Float_t fVzeroMultFlagged;
238 /** VZERO flagged mult A */
239 Float_t fVzeroMultFlaggedA;
241 /** VZERO flagged mult C */
242 Float_t fVzeroMultFlaggedC;
246 /** Binnning VZERO */
248 Float_t fVzeroBinningMin;
249 Float_t fVzeroBinningMax;
253 Float_t fTpcBinningMin;
254 Float_t fTpcBinningMax;
258 Float_t fZdcBinningMin;
259 Float_t fZdcBinningMax;
263 Float_t fZemBinningMin;
264 Float_t fZemBinningMax;
268 Float_t fZnpBinningMin;
269 Float_t fZnpBinningMax;
273 Bool_t fProcessEmcal;
275 /** CALO variables */
276 Float_t fPhosTotalEt;
277 Float_t fEmcalTotalEt;
281 Float_t fCaloBinningMin;
282 Float_t fCaloBinningMax;
284 ClassDef(AliHLTMultiplicityCorrelations, 1);