]>
Commit | Line | Data |
---|---|---|
1 | #ifndef ALIPHOSANALYZE_H | |
2 | #define ALIPHOSANALYZE_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | /* $Id$ */ | |
7 | ||
8 | //_________________________________________________________________________ | |
9 | // Algorithm class to analyze PHOSv1 events | |
10 | //*-- Author : Yves Schutz (SUBATECH) | |
11 | ||
12 | // --- ROOT system --- | |
13 | ||
14 | #include "TFile.h" | |
15 | #include "TH1.h" | |
16 | #include "TH2.h" | |
17 | ||
18 | // --- Standard library --- | |
19 | ||
20 | // --- AliRoot header files --- | |
21 | ||
22 | #include "AliPHOSv1.h" | |
23 | #include "AliPHOSGeometry.h" | |
24 | #include "AliPHOSPID.h" | |
25 | #include "AliPHOSIndexToObject.h" | |
26 | ||
27 | class AliPHOSAnalyze : public TObject { | |
28 | ||
29 | public: | |
30 | ||
31 | AliPHOSAnalyze() ; // ctor | |
32 | AliPHOSAnalyze(Text_t * name) ; // ctor | |
33 | AliPHOSAnalyze(const AliPHOSAnalyze & ana) ; // cpy ctor | |
34 | virtual ~AliPHOSAnalyze() ; // dtor | |
35 | ||
36 | void ActivePPSD(Int_t Nevents) ; | |
37 | void AnalyzeManyEvents(Int_t Nevtents = 100, Int_t Module=0) ; // analyzes many events ; | |
38 | void AnalyzeResolutions(Int_t Nevtents) ; // analyzes Energy and Position resolutions ; | |
39 | void ReadAndPrintCPV(Int_t Nevents); // Read & print generated and reconstructed hits in CPV | |
40 | void AnalyzeCPV(Int_t Nevents); // analyzes various CPV characteristics | |
41 | void InvariantMass(Int_t Nevents = 100) ; | |
42 | void Reconstruct(Int_t Nevtents = 100,Int_t FirstEvent = 0) ; | |
43 | void BookingHistograms() ; // booking histograms for the ManyEvent analysis ; | |
44 | void BookResolutionHistograms() ; // booking histograms for the Resoluion analysis ; | |
45 | void Copy(TObject & obj) ; // copies an analysis into an other one | |
46 | Float_t CorrectEnergy(Float_t ERecPart) ; //Corrects reconstracted energy | |
47 | Bool_t Init(Int_t evt) ; // does various initialisations | |
48 | void DisplayKineEvent(Int_t evt = -999) ; // displays the Kine events in ALICE coordinate | |
49 | void DisplayRecParticles() ; // displays RecParticles in ALICE coordinate | |
50 | void DisplayRecPoints() ; // displays RecPoints in module coordinate | |
51 | void DisplayTrackSegments() ; // displays TrackSegments in module coordinate | |
52 | Bool_t OpenRootFile(Text_t * name) ; // opens the root file | |
53 | void SaveHistograms() ; // Save histograms in a root file | |
54 | void ResetHistograms() ; // | |
55 | AliPHOSAnalyze & operator = (const AliPHOSAnalyze & rvalue) { | |
56 | // assignement operator requested by coding convention | |
57 | // but not needed | |
58 | assert(0==1) ; | |
59 | return *this ; | |
60 | } | |
61 | void SetDebugLevel(Int_t flag) { fDebugLevel = flag; } | |
62 | ||
63 | private: | |
64 | ||
65 | AliPHOSClusterizer * fClu ; // a clusterizer | |
66 | Int_t fEvt ; // the evt number being processed | |
67 | AliPHOSGeometry * fGeom ; // the PHOS Geometry object | |
68 | AliPHOSIndexToObject * fObjGetter ; // provides methods to retrieve objects from their index in a list | |
69 | AliPHOSv1 * fPHOS ; // the PHOS object from the root file | |
70 | AliPHOSPID * fPID ; // a particle identifier | |
71 | AliPHOSReconstructioner * fRec ; // a reconstructioner | |
72 | TFile * fRootFile ; // the root file that contains the data | |
73 | AliPHOSTrackSegmentMaker * fTrs ; // a tracksegmentmaker ; | |
74 | ||
75 | Int_t fDebugLevel; // debug level for analysis | |
76 | ||
77 | TH2F * fhEnergyCorrelations ; //Energy correlations between Eloss in Convertor and PPSD(2) | |
78 | ||
79 | ||
80 | TH1F * fhEmcDigit ; // Histo of digit energies in the Emc | |
81 | TH1F * fhVetoDigit ; // Histo of digit energies in the Veto | |
82 | TH1F * fhConvertorDigit ; // Histo of digit energies in the Convertor | |
83 | TH1F * fhEmcCluster ; // Histo of Cluster energies in Emc | |
84 | TH1F * fhVetoCluster ; // Histo of Cluster energies in Veto | |
85 | TH1F * fhConvertorCluster ; // Histo of Cluster energies in Convertor | |
86 | TH2F * fhConvertorEmc ; // 2d Convertor versus Emc energies | |
87 | ||
88 | TH2F * fhAllEnergy ; // Spectrum of detected photons with photon primary | |
89 | TH2F * fhPhotEnergy ; // Total spectrum of detected photons | |
90 | TH2F * fhEMEnergy ; // Spectrum of detected neutral EM with EM primary | |
91 | TH2F * fhPPSDEnergy ; | |
92 | ||
93 | TH2F * fhAllPosition ; // Position Resolution of photons with photon primary | |
94 | TH2F * fhPhotPosition ; // Position Resolution of photons | |
95 | TH2F * fhEMPosition ; // Position Resolution of neutral EM with EM primary | |
96 | TH2F * fhPPSDPosition ; // Position Resolution of neutral EM | |
97 | ||
98 | TH1F * fhPhotonPositionY ; // Y distribution of detected photons | |
99 | TH1F * fhElectronPositionY ; // Y distribution of detected electrons | |
100 | TH1F * fhNeutralHadronPositionY ; // Y distribution of detected neutral hadron | |
101 | TH1F * fhNeutralEMPositionY ; // Y distribution of detected neutral EM | |
102 | TH1F * fhChargedHadronPositionY ; // Y distribution of detected charged | |
103 | TH1F * fhPhotonHadronPositionY ; // Y distribution of detected Photon-Hadron | |
104 | ||
105 | TH1F * fhPhotReg ; | |
106 | TH1F * fhAllReg ; | |
107 | TH1F * fhNReg ; | |
108 | TH1F * fhNBarReg ; | |
109 | TH1F * fhChargedReg ; | |
110 | TH1F * fhPhotEM ; | |
111 | TH1F * fhAllEM ; | |
112 | TH1F * fhNEM ; | |
113 | TH1F * fhNBarEM ; | |
114 | TH1F * fhChargedEM ; | |
115 | TH1F * fhPhotPPSD ; | |
116 | TH1F * fhAllPPSD ; | |
117 | TH1F * fhNPPSD ; | |
118 | TH1F * fhNBarPPSD ; | |
119 | TH1F * fhChargedPPSD ; | |
120 | ||
121 | TH1F * fhPrimary ; | |
122 | TH1F * fhAllRP ; | |
123 | TH1F * fhPPSD ; | |
124 | TH1F * fhShape ; | |
125 | TH1F * fhVeto ; | |
126 | ||
127 | TH1F * fhPhotPhot ; | |
128 | TH1F * fhPhotElec ; | |
129 | TH1F * fhPhotNeuH ; | |
130 | TH1F * fhPhotNuEM ; | |
131 | TH1F * fhPhotChHa ; | |
132 | TH1F * fhPhotGaHa ; | |
133 | ||
134 | ||
135 | ||
136 | ClassDef(AliPHOSAnalyze,1) // PHOSv1 event analyzis algorithm | |
137 | ||
138 | }; | |
139 | ||
140 | #endif // AliPHOSANALYZE_H |