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 Binning of SPD */
105 void SetBinningSpd(Int_t i=1, Float_t f1=0., Float_t f2=1.) {
106 fSpdBinning = i; fSpdBinningMin = f1; fSpdBinningMax = f2;
109 /** Set process PHOS */
110 void SetProcessPhos(Bool_t v = true) {
113 /** Set process EMCAL */
114 void SetProcessEmcal(Bool_t v = true) {
119 * ---------------------------------------------------------------------------------
121 * ---------------------------------------------------------------------------------
124 /** Get List of histograms */
125 TList* GetHistList() const { return fHistList; }
128 * ---------------------------------------------------------------------------------
130 * ---------------------------------------------------------------------------------
133 /** Process current event */
134 Int_t ProcessEvent( AliESDEvent *esd, Int_t nSpdClusters );
136 Int_t ProcessEvent( AliESDEvent *esd ) {
137 return ProcessEvent(esd, 0);
141 ///////////////////////////////////////////////////////////////////////////////////
145 /** copy constructor prohibited */
146 AliHLTMultiplicityCorrelations(const AliHLTMultiplicityCorrelations&);
148 /** assignment operator prohibited */
149 AliHLTMultiplicityCorrelations& operator=(const AliHLTMultiplicityCorrelations&);
152 * ---------------------------------------------------------------------------------
153 * Initialize / Setup / Reset - private
154 * ---------------------------------------------------------------------------------
158 * param esd Ptr to AliESDEvent
159 * return kTRUE if AliESDEvent and Vertex present
161 Bool_t AddESDEvent( AliESDEvent* esd );
163 /** Setup histograms */
164 Int_t SetupHistograms();
166 /** Setup VZERO histograms */
169 /** Setup ZDC histograms */
172 /** Setup TPC histograms */
175 /** Setup correlation histograms */
176 Int_t SetupCorrelations();
178 /** Setup CALO histograms */
181 /** Setup SPD histograms */
185 * ---------------------------------------------------------------------------------
187 * ---------------------------------------------------------------------------------
190 /** Process current event - TPC */
193 /** Process current event - SPD */
196 /** Process current event - VZERO */
197 Int_t ProcessVZERO();
199 /** Process current event - ZDC and correlations */
202 /** Process current event - CALO */
206 * ---------------------------------------------------------------------------------
208 * ---------------------------------------------------------------------------------
211 /** List of histograms */
212 TList *fHistList; // see above
214 /** Ptr to AliESDEvent */
215 AliESDEvent *fESDEvent; //! transient
217 /** Ptr to ZDC object in AliESDEvent*/
218 AliESDZDC *fESDZDC; //! transient
220 /** Ptr to VZERO object in AliESDEvent*/
221 AliESDVZERO *fESDVZERO; //! transient
223 /** Ptr to AliESD track cuts */
224 AliESDtrackCuts *fESDTrackCuts; //! transient
226 // -- -- -- -- -- -- -- -- -- -- -- -- -- --
231 /** N ESD tracks accepted */
237 /** N TPC tracks accepted */
249 /** VZERO flagged mult */
250 Float_t fVzeroMultFlagged;
252 /** VZERO flagged mult A */
253 Float_t fVzeroMultFlaggedA;
255 /** VZERO flagged mult C */
256 Float_t fVzeroMultFlaggedC;
258 /** Spd N clusters */
263 /** Binnning VZERO */
265 Float_t fVzeroBinningMin;
266 Float_t fVzeroBinningMax;
270 Float_t fTpcBinningMin;
271 Float_t fTpcBinningMax;
275 Float_t fZdcBinningMin;
276 Float_t fZdcBinningMax;
280 Float_t fZemBinningMin;
281 Float_t fZemBinningMax;
285 Float_t fZnpBinningMin;
286 Float_t fZnpBinningMax;
290 Bool_t fProcessEmcal;
292 /** CALO variables */
293 Float_t fPhosTotalEt;
294 Float_t fEmcalTotalEt;
298 Float_t fCaloBinningMin;
299 Float_t fCaloBinningMax;
303 Float_t fSpdBinningMin;
304 Float_t fSpdBinningMax;
306 ClassDef(AliHLTMultiplicityCorrelations, 1);