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 */
8 //_________________________________________________________________________
9 // Algorithm class to analyze PHOSv1 events
10 //*-- Author : Yves Schutz (SUBATECH)
12 // --- ROOT system ---
18 // --- Standard library ---
20 // --- AliRoot header files ---
22 #include "AliPHOSv1.h"
23 #include "AliPHOSGeometry.h"
24 #include "AliPHOSPID.h"
25 #include "AliPHOSIndexToObject.h"
27 class AliPHOSAnalyze : public TObject {
31 AliPHOSAnalyze() ; // ctor
32 AliPHOSAnalyze(Text_t * name) ; // ctor
33 AliPHOSAnalyze(const AliPHOSAnalyze & ana) ; // cpy ctor
34 virtual ~AliPHOSAnalyze() ; // dtor
36 void ActivePPSD(Int_t Nevents) ;
37 void AnalyzeManyEvents(Int_t Nevtents = 100, Int_t Module=0) ; // analyzes many events ;
38 void Reconstruct(Int_t Nevtents = 100) ;
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
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 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
52 void SaveHistograms() ; // Save histograms in a root file
53 void ResetHistograms() ; //
54 AliPHOSAnalyze & operator = (const AliPHOSAnalyze & rvalue) {
55 // assignement operator requested by coding convention
60 void SetDebugLevel(Int_t flag) { fDebugLevel = flag; }
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
68 AliPHOSv1 * fPHOS ; // the PHOS object from the root file
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 ;
74 Int_t fDebugLevel; // debug level for analysis
76 TH2F * fhEnergyCorrelations ; //Energy correlations between Eloss in Convertor and PPSD(2)
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
85 TH2F * fhConvertorEmc ; // 2d Convertor versus Emc energies
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
91 TH2F * fhNeutralHadronEnergy ; // Spectrum of detected neutral hadron
92 TH2F * fhNeutralEMEnergy ; // Spectrum of detected neutral EM with EM primary
93 TH2F * fhNeutralEMAllEnergy ; // Spectrum of detected neutral EM
94 TH2F * fhChargedHadronEnergy ; // Spectrum of detected charged
95 TH2F * fhPhotonHadronEnergy ; // Spectrum of detected Photon-Hadron
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
100 TH2F * fhNeutralHadronPosition ; // Position Resolution of neutral hadron
101 TH2F * fhNeutralEMPosition ; // Position Resolution of neutral EM with EM primary
102 TH2F * fhNeutralEMAllPosition ; // Position Resolution of neutral EM
103 TH2F * fhChargedHadronPosition ; // Position Resolution of charged
104 TH2F * fhPhotonHadronPosition ; // Position Resolution of Photon-Hadron
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
115 TH1F * fhChargedReg ;
132 ClassDef(AliPHOSAnalyze,1) // PHOSv1 event analyzis algorithm
136 #endif // AliPHOSANALYZE_H