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