]>
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 | //_________________________________________________________________________ |
a3dfe79c | 9 | // Algorythm class to analyze PHOSv1 events: |
10 | // Construct histograms and displays them. | |
11 | // Use the macro EditorBar.C for best access to the functionnalities | |
12 | //*-- | |
b2a60966 | 13 | //*-- Author : Yves Schutz (SUBATECH) |
6ad0bfa0 | 14 | |
15 | // --- ROOT system --- | |
16 | ||
17 | #include "TFile.h" | |
92862013 | 18 | #include "TH1.h" |
19 | #include "TH2.h" | |
6ad0bfa0 | 20 | |
21 | // --- Standard library --- | |
22 | ||
23 | // --- AliRoot header files --- | |
24 | ||
788dcca4 | 25 | #include "AliPHOSv1.h" |
6ad0bfa0 | 26 | #include "AliPHOSGeometry.h" |
26d4b141 | 27 | #include "AliPHOSPID.h" |
83974468 | 28 | #include "AliPHOSIndexToObject.h" |
6ad0bfa0 | 29 | |
30 | class AliPHOSAnalyze : public TObject { | |
31 | ||
32 | public: | |
33 | ||
34 | AliPHOSAnalyze() ; // ctor | |
35 | AliPHOSAnalyze(Text_t * name) ; // ctor | |
88714635 | 36 | AliPHOSAnalyze(const AliPHOSAnalyze & ana) ; // cpy ctor |
6ad0bfa0 | 37 | virtual ~AliPHOSAnalyze() ; // dtor |
38 | ||
ed4205d8 | 39 | void DrawRecon(Int_t Nevent= 0,Int_t Nmod = 1) ; // draws positions of entering and |
40 | //reconstructed points in PHOS plain | |
41 | void AnalyzeResolutions (Int_t Nevents) ; // analyzes Energy and Position resolutions ; | |
42 | void ReadAndPrintEMC(Int_t EvFirst=0, Int_t EvLast=0); // Read & print generated and reconstructed hits in EMC | |
8c0cd6e9 | 43 | void ReadAndPrintCPV(Int_t EvFirst=0, Int_t EvLast=0); // Read & print generated and reconstructed hits in CPV |
28d71ac3 | 44 | void AnalyzeCPV(Int_t Nevents); // analyzes various CPV characteristics |
ed4205d8 | 45 | void AnalyzeEMC(Int_t Nevents); // analyzes EMC resolution |
69183710 | 46 | void InvariantMass(Int_t Nevents = 100) ; |
47 | void Reconstruct(Int_t Nevtents = 100,Int_t FirstEvent = 0) ; | |
92862013 | 48 | void BookingHistograms() ; // booking histograms for the ManyEvent analysis ; |
134ce69a | 49 | void BookResolutionHistograms() ; // booking histograms for the Resoluion analysis ; |
88714635 | 50 | void Copy(TObject & obj) ; // copies an analysis into an other one |
69183710 | 51 | Float_t CorrectEnergy(Float_t ERecPart) ; //Corrects reconstracted energy |
6ad0bfa0 | 52 | Bool_t OpenRootFile(Text_t * name) ; // opens the root file |
46b146ca | 53 | void SaveHistograms() ; // Save histograms in a root file |
54 | void ResetHistograms() ; // | |
c6e196df | 55 | AliPHOSAnalyze & operator = (const AliPHOSAnalyze & rvalue) { |
6c370def | 56 | // assignement operator requested by coding convention |
57 | // but not needed | |
58 | assert(0==1) ; | |
59 | return *this ; | |
60 | } | |
28d71ac3 | 61 | void SetDebugLevel(Int_t flag) { fDebugLevel = flag; } |
6ad0bfa0 | 62 | |
88714635 | 63 | private: |
6ad0bfa0 | 64 | |
83974468 | 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 | |
788dcca4 | 69 | AliPHOSv1 * fPHOS ; // the PHOS object from the root file |
83974468 | 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 ; | |
46b146ca | 74 | |
28d71ac3 | 75 | Int_t fDebugLevel; // debug level for analysis |
76 | ||
46b146ca | 77 | TH2F * fhEnergyCorrelations ; //Energy correlations between Eloss in Convertor and PPSD(2) |
78 | ||
79 | ||
b2a60966 | 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 | |
46b146ca | 86 | TH2F * fhConvertorEmc ; // 2d Convertor versus Emc energies |
87 | ||
ed4205d8 | 88 | TH2F * fhAllEnergy ; // Spectrum of detected photons with photon primary |
89 | TH2F * fhPhotEnergy ; // Total spectrum of detected photons | |
69183710 | 90 | TH2F * fhEMEnergy ; // Spectrum of detected neutral EM with EM primary |
2f04ed65 | 91 | TH2F * fhPPSDEnergy ; // Spectrum of particles detected in PPSD with primary particle |
69183710 | 92 | |
ed4205d8 | 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 * fhAllPositionX ; // X-Position Resolution of photons with photon primary | |
99 | TH1F * fhAllPositionZ ; // Z-Position Resolution of photons with photon primary | |
69183710 | 100 | |
b2a60966 | 101 | TH1F * fhPhotonPositionY ; // Y distribution of detected photons |
102 | TH1F * fhElectronPositionY ; // Y distribution of detected electrons | |
103 | TH1F * fhNeutralHadronPositionY ; // Y distribution of detected neutral hadron | |
104 | TH1F * fhNeutralEMPositionY ; // Y distribution of detected neutral EM | |
105 | TH1F * fhChargedHadronPositionY ; // Y distribution of detected charged | |
106 | TH1F * fhPhotonHadronPositionY ; // Y distribution of detected Photon-Hadron | |
69183710 | 107 | |
108 | TH1F * fhPhotReg ; | |
fc879520 | 109 | TH1F * fhAllReg ; |
110 | TH1F * fhNReg ; | |
111 | TH1F * fhNBarReg ; | |
112 | TH1F * fhChargedReg ; | |
69183710 | 113 | TH1F * fhPhotEM ; |
fc879520 | 114 | TH1F * fhAllEM ; |
115 | TH1F * fhNEM ; | |
116 | TH1F * fhNBarEM ; | |
117 | TH1F * fhChargedEM ; | |
69183710 | 118 | TH1F * fhPhotPPSD ; |
119 | TH1F * fhAllPPSD ; | |
120 | TH1F * fhNPPSD ; | |
121 | TH1F * fhNBarPPSD ; | |
122 | TH1F * fhChargedPPSD ; | |
123 | ||
fc879520 | 124 | TH1F * fhPrimary ; |
69183710 | 125 | TH1F * fhAllRP ; |
126 | TH1F * fhPPSD ; | |
127 | TH1F * fhShape ; | |
128 | TH1F * fhVeto ; | |
fc879520 | 129 | |
130 | TH1F * fhPhotPhot ; | |
131 | TH1F * fhPhotElec ; | |
132 | TH1F * fhPhotNeuH ; | |
133 | TH1F * fhPhotNuEM ; | |
134 | TH1F * fhPhotChHa ; | |
135 | TH1F * fhPhotGaHa ; | |
136 | ||
92862013 | 137 | |
6ad0bfa0 | 138 | |
5f20d3fb | 139 | ClassDef(AliPHOSAnalyze,1) // PHOSv1 event analyzis algorithm |
6ad0bfa0 | 140 | |
141 | }; | |
142 | ||
143 | #endif // AliPHOSANALYZE_H |