]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG/CaloTrackCorrBase/AliAnaCaloTrackCorrMaker.h
new version of trigger patch-cluster matching more detailed histograms
[u/mrichter/AliRoot.git] / PWG / CaloTrackCorrBase / AliAnaCaloTrackCorrMaker.h
CommitLineData
f15155ed 1#ifndef ALIANACALOTRACKCORRMAKER_H
2#define ALIANACALOTRACKCORRMAKER_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6//_____________________________________________________________________________
7// Steering class for particle (gamma, hadron) identification and correlation
8// analysis. It is called by the task class AliAnalysisTaskCaloTrackCorrelation
9// and it connects the input (ESD/AOD/MonteCarlo) got with AliCaloTrackReader
10// (produces TClonesArrays of AODs (TParticles in MC case if requested)), with
11// the analysis classes that derive from AliAnaCaloTrackCorrBaseClass
12//
13// -- Author: Gustavo Conesa (INFN-LNF, LPSC-Grenoble)
14
15// --- ROOT system ---
16class TList;
17class TClonesArray;
18#include<TObject.h>
4b7f6e01 19class TH1F;
f15155ed 20
21// --- Analysis system ---
22#include "AliCaloTrackReader.h"
23#include "AliCalorimeterUtils.h"
24
25class AliAnaCaloTrackCorrMaker : public TObject {
26
27 public:
4c795f31 28
f15155ed 29 AliAnaCaloTrackCorrMaker() ; // default ctor
30 virtual ~AliAnaCaloTrackCorrMaker() ; // virtual dtor
31 AliAnaCaloTrackCorrMaker(const AliAnaCaloTrackCorrMaker & maker) ; // cpy ctor
f15155ed 32
accd903d 33 // Setters and Getters
34
f15155ed 35 void AddAnalysis(TObject* ana, Int_t n) ;
36
b8d661af 37 void FillControlHistograms();
38
b0b90200 39 TList * GetListOfAnalysisContainers() { return fAnalysisContainer ; }
f15155ed 40 TList * GetListOfAnalysisCuts();
41 TList * GetOutputContainer() ;
b0b90200 42
f15155ed 43 TList * FillAndGetAODBranchList();
44
b0b90200 45 Int_t GetAnaDebug() const { return fAnaDebug ; }
46 void SetAnaDebug(Int_t d) { fAnaDebug = d ; }
f15155ed 47
b0b90200 48 Bool_t AreHistogramsMade() const { return fMakeHisto ; }
49 void SwitchOnHistogramsMaker() { fMakeHisto = kTRUE ; }
50 void SwitchOffHistogramsMaker() { fMakeHisto = kFALSE ; }
f15155ed 51
b0b90200 52 Bool_t AreAODsMade() const { return fMakeAOD ; }
53 void SwitchOnAODsMaker() { fMakeAOD = kTRUE ; }
54 void SwitchOffAODsMaker() { fMakeAOD = kFALSE ; }
f15155ed 55
56
57 AliCaloTrackReader * GetReader() { if(!fReader) fReader = new AliCaloTrackReader ();
58 return fReader ; }
59 void SetReader(AliCaloTrackReader * reader) { fReader = reader ; }
60
61 AliCalorimeterUtils * GetCaloUtils() { if(!fCaloUtils) fCaloUtils = new AliCalorimeterUtils();
62 return fCaloUtils ; }
63 void SetCaloUtils(AliCalorimeterUtils * caloutils) { fCaloUtils = caloutils ; }
64
accd903d 65 void SetScaleFactor(Double_t scale) { fScaleFactor = scale ; }
66
67
68 // Main general methods
69
f15155ed 70 void Init();
71
72 void InitParameters();
73
74 void Print(const Option_t * opt) const;
75
76 void ProcessEvent(const Int_t iEntry, const char * currentFileName) ;
77
78 void Terminate(TList * outputList);
79
accd903d 80
f15155ed 81 private:
82
83 //General Data members
84
accd903d 85 AliCaloTrackReader * fReader ; // Pointer to reader
86 AliCalorimeterUtils * fCaloUtils ; // Pointer to CalorimeterUtils
4c795f31 87
accd903d 88 TList * fOutputContainer ; //! Output histograms container
89 TList * fAnalysisContainer ; // List with analysis pointers
90 Bool_t fMakeHisto ; // If true makes final analysis with histograms as output
91 Bool_t fMakeAOD ; // If true makes analysis generating AODs
92 Int_t fAnaDebug; // Debugging info.
93 TList * fCuts ; //! List with analysis cuts
94 Double_t fScaleFactor ; // Scaling factor needed for normalization
95
4c795f31 96 // Control histograms
4b7f6e01 97 TH1F * fhNEvents; //! Number of events counter histogram
a529ae05 98 TH1F * fhNExoticEvents; //! Number of events triggered by exotic, counter histogram
afb3af8a 99 TH1F * fhNEventsNoTriggerFound; //! number of events where whaetever was done, no trigger is found
4b7f6e01 100 TH1F * fhNPileUpEvents; //! N events pasing pile up cut
c2a62a94 101 TH1F * fhNPileUpEventsTriggerBC0; //! N events pasing pile up cut
accd903d 102 TH1F * fhZVertex; //! Vertex of accepted event
4b7f6e01 103 TH1F * fhPileUpClusterMult; //! N clusters with high time
d41e07ee 104 TH1F * fhPileUpClusterMultAndSPDPileUp; //! N clusters with high time in events tagged as pile-up by SPD
4b7f6e01 105 TH1F * fhTrackMult; //! Number of tracks per event histogram
accd903d 106 TH1F * fhCentrality; //! Histogram with centrality bins
f7eac3ca 107 TH1F * fhEventPlaneAngle; //! Histogram with Event plane angle
4b7f6e01 108 TH1F * fhNMergedFiles; //! Number of files merged
accd903d 109 TH1F * fhScaleFactor; //! Factor to scale histograms
4b7f6e01 110 TH1F * fhEMCalBCEvent; //! N events depending on the existance of a cluster in a given bunch crossing
111 TH1F * fhEMCalBCEventCut; //! N events depending on the existance of a cluster above acceptance and E cut in a given bunch crossing
112 TH1F * fhTrackBCEvent; //! N events depending on the existance of a track in a given bunch crossing
113 TH1F * fhTrackBCEventCut; //! N events depending on the existance of a track above acceptance and pt cut in a given bunch crossing
114 TH1F * fhPrimaryVertexBC; //! Primary vertex BC
b8d661af 115 TH1F * fhTimeStampFraction; //! event fraction depending on Time Stamp, only if activated on reader
cc944149 116 TH1F * fhNPileUpVertSPD; //! number of pile-up vertices from SPD
117 TH1F * fhNPileUpVertTracks; //! number of pile-up vertices from tracks
afb3af8a 118 TH1F * fhClusterTriggerBC; //! number of events triggered, depending on BC of the cluster
119 TH1F * fhClusterTriggerBCExotic; //! number of events triggered, depending on BC of the cluster
120 TH1F * fhClusterTriggerBCBad; //! number of events triggered, depending on BC of the cluster
121 TH1F * fhClusterTriggerBCUnMatch; //! number of events triggered, depending on BC of the cluster
122 TH1F * fhClusterTriggerBCExoticUnMatch; //! number of events triggered, depending on BC of the cluster
123 TH1F * fhClusterTriggerBCBadUnMatch; //! number of events triggered, depending on BC of the cluster
124
f15155ed 125 AliAnaCaloTrackCorrMaker & operator = (const AliAnaCaloTrackCorrMaker & ) ; // cpy assignment
126
afb3af8a 127 ClassDef(AliAnaCaloTrackCorrMaker,18)
f15155ed 128} ;
129
130
131#endif //ALIANACALOTRACKCORRMAKER_H
132
133
134