]>
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 ; |
fc879520 | 38 | void Reconstruct(Int_t Nevtents = 100) ; |
c3b9b3f9 | 39 | void ReconstructCPV(Int_t Nevents = 1) ; // reconstruct points in EMC and CPV |
40 | void AnalyzeResolutions(Int_t Nevtents) ; // analyzes Energy and Position resolutions ; | |
41 | void ReadAndPrintCPV(Int_t Nevents); // Read & print generated and reconstructed hits in CPV | |
42 | void AnalyzeCPV(Int_t Nevents); // analyzes various CPV characteristics | |
92862013 | 43 | void BookingHistograms() ; // booking histograms for the ManyEvent analysis ; |
134ce69a | 44 | void BookResolutionHistograms() ; // booking histograms for the Resoluion analysis ; |
88714635 | 45 | void Copy(TObject & obj) ; // copies an analysis into an other one |
6ad0bfa0 | 46 | Bool_t Init(Int_t evt) ; // does various initialisations |
47 | void DisplayKineEvent(Int_t evt = -999) ; // displays the Kine events in ALICE coordinate | |
48 | void DisplayRecParticles() ; // displays RecParticles in ALICE coordinate | |
49 | void DisplayRecPoints() ; // displays RecPoints in module coordinate | |
50 | void DisplayTrackSegments() ; // displays TrackSegments in module coordinate | |
51 | Bool_t OpenRootFile(Text_t * name) ; // opens the root file | |
46b146ca | 52 | void SaveHistograms() ; // Save histograms in a root file |
53 | void ResetHistograms() ; // | |
c6e196df | 54 | AliPHOSAnalyze & operator = (const AliPHOSAnalyze & rvalue) { |
6c370def | 55 | // assignement operator requested by coding convention |
56 | // but not needed | |
57 | assert(0==1) ; | |
58 | return *this ; | |
59 | } | |
c3b9b3f9 | 60 | void SetDebugLevel(Int_t flag) { fDebugLevel = flag; } |
6ad0bfa0 | 61 | |
88714635 | 62 | private: |
6ad0bfa0 | 63 | |
83974468 | 64 | AliPHOSClusterizer * fClu ; // a clusterizer |
65 | Int_t fEvt ; // the evt number being processed | |
66 | AliPHOSGeometry * fGeom ; // the PHOS Geometry object | |
67 | AliPHOSIndexToObject * fObjGetter ; // provides methods to retrieve objects from their index in a list | |
788dcca4 | 68 | AliPHOSv1 * fPHOS ; // the PHOS object from the root file |
83974468 | 69 | AliPHOSPID * fPID ; // a particle identifier |
70 | AliPHOSReconstructioner * fRec ; // a reconstructioner | |
71 | TFile * fRootFile ; // the root file that contains the data | |
72 | AliPHOSTrackSegmentMaker * fTrs ; // a tracksegmentmaker ; | |
46b146ca | 73 | |
c3b9b3f9 | 74 | Int_t fDebugLevel; // debug level for analysis |
75 | ||
46b146ca | 76 | TH2F * fhEnergyCorrelations ; //Energy correlations between Eloss in Convertor and PPSD(2) |
77 | ||
78 | ||
b2a60966 | 79 | TH1F * fhEmcDigit ; // Histo of digit energies in the Emc |
80 | TH1F * fhVetoDigit ; // Histo of digit energies in the Veto | |
81 | TH1F * fhConvertorDigit ; // Histo of digit energies in the Convertor | |
82 | TH1F * fhEmcCluster ; // Histo of Cluster energies in Emc | |
83 | TH1F * fhVetoCluster ; // Histo of Cluster energies in Veto | |
84 | TH1F * fhConvertorCluster ; // Histo of Cluster energies in Convertor | |
46b146ca | 85 | TH2F * fhConvertorEmc ; // 2d Convertor versus Emc energies |
86 | ||
fc879520 | 87 | TH2F * fhPhotonEnergy ; // Spectrum of detected photons with photon primary |
88 | TH2F * fhPhotonAllEnergy ; // Total spectrum of detected photons | |
89 | TH2F * fhElectronEnergy ; // Spectrum of detected electrons with electron primary | |
90 | TH2F * fhElectronAllEnergy ; // Total spectrum of detected electrons | |
134ce69a | 91 | TH2F * fhNeutralHadronEnergy ; // Spectrum of detected neutral hadron |
fc879520 | 92 | TH2F * fhNeutralEMEnergy ; // Spectrum of detected neutral EM with EM primary |
93 | TH2F * fhNeutralEMAllEnergy ; // Spectrum of detected neutral EM | |
134ce69a | 94 | TH2F * fhChargedHadronEnergy ; // Spectrum of detected charged |
95 | TH2F * fhPhotonHadronEnergy ; // Spectrum of detected Photon-Hadron | |
fc879520 | 96 | TH2F * fhPhotonPosition ; // Position Resolution of photons with photon primary |
97 | TH2F * fhPhotonAllPosition ; // Position Resolution of photons | |
98 | TH2F * fhElectronPosition ; // Position Resolution of electrons with electron primary | |
99 | TH2F * fhElectronAllPosition ; // Position Resolution of electrons | |
134ce69a | 100 | TH2F * fhNeutralHadronPosition ; // Position Resolution of neutral hadron |
fc879520 | 101 | TH2F * fhNeutralEMPosition ; // Position Resolution of neutral EM with EM primary |
102 | TH2F * fhNeutralEMAllPosition ; // Position Resolution of neutral EM | |
134ce69a | 103 | TH2F * fhChargedHadronPosition ; // Position Resolution of charged |
104 | TH2F * fhPhotonHadronPosition ; // Position Resolution of Photon-Hadron | |
b2a60966 | 105 | TH1F * fhPhotonPositionY ; // Y distribution of detected photons |
106 | TH1F * fhElectronPositionY ; // Y distribution of detected electrons | |
107 | TH1F * fhNeutralHadronPositionY ; // Y distribution of detected neutral hadron | |
108 | TH1F * fhNeutralEMPositionY ; // Y distribution of detected neutral EM | |
109 | TH1F * fhChargedHadronPositionY ; // Y distribution of detected charged | |
110 | TH1F * fhPhotonHadronPositionY ; // Y distribution of detected Photon-Hadron | |
fc879520 | 111 | TH1F * fhPhotonReg ; |
112 | TH1F * fhAllReg ; | |
113 | TH1F * fhNReg ; | |
114 | TH1F * fhNBarReg ; | |
115 | TH1F * fhChargedReg ; | |
116 | TH1F * fhPhotonEM ; | |
117 | TH1F * fhAllEM ; | |
118 | TH1F * fhNEM ; | |
119 | TH1F * fhNBarEM ; | |
120 | TH1F * fhChargedEM ; | |
121 | TH1F * fhPrimary ; | |
122 | ||
123 | TH1F * fhPhotPhot ; | |
124 | TH1F * fhPhotElec ; | |
125 | TH1F * fhPhotNeuH ; | |
126 | TH1F * fhPhotNuEM ; | |
127 | TH1F * fhPhotChHa ; | |
128 | TH1F * fhPhotGaHa ; | |
129 | ||
92862013 | 130 | |
6ad0bfa0 | 131 | |
5f20d3fb | 132 | ClassDef(AliPHOSAnalyze,1) // PHOSv1 event analyzis algorithm |
6ad0bfa0 | 133 | |
134 | }; | |
135 | ||
136 | #endif // AliPHOSANALYZE_H |