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 // Algorythm class to analyze PHOSv1 events:
10 // Construct histograms and displays them.
11 // Use the macro EditorBar.C for best access to the functionnalities
13 //*-- Author : Yves Schutz (SUBATECH)
15 // --- ROOT system ---
21 // --- Standard library ---
23 // --- AliRoot header files ---
25 #include "AliPHOSv1.h"
26 #include "AliPHOSGeometry.h"
27 #include "AliPHOSPID.h"
28 #include "AliPHOSIndexToObject.h"
30 class AliPHOSAnalyze : public TObject {
34 AliPHOSAnalyze() ; // ctor
35 AliPHOSAnalyze(Text_t * name) ; // ctor
36 AliPHOSAnalyze(const AliPHOSAnalyze & ana) ; // cpy ctor
37 virtual ~AliPHOSAnalyze() ; // dtor
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
43 void ReadAndPrintCPV(Int_t EvFirst=0, Int_t EvLast=0); // Read & print generated and reconstructed hits in CPV
44 void AnalyzeCPV(Int_t Nevents); // analyzes various CPV characteristics
45 void AnalyzeEMC(Int_t Nevents); // analyzes EMC resolution
46 void InvariantMass(Int_t Nevents = 100) ;
47 void Reconstruct(Int_t Nevtents = 100,Int_t FirstEvent = 0) ;
48 void BookingHistograms() ; // booking histograms for the ManyEvent analysis ;
49 void BookResolutionHistograms() ; // booking histograms for the Resoluion analysis ;
50 void Copy(TObject & obj) ; // copies an analysis into an other one
51 Float_t CorrectEnergy(Float_t ERecPart) ; //Corrects reconstracted energy
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
61 void SetDebugLevel(Int_t flag) { fDebugLevel = flag; }
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 ;
75 Int_t fDebugLevel; // debug level for analysis
77 TH2F * fhEnergyCorrelations ; //Energy correlations between Eloss in Convertor and PPSD(2)
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
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 ; //
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
98 TH1F * fhAllPositionX ; // X-Position Resolution of photons with photon primary
99 TH1F * fhAllPositionZ ; // Z-Position Resolution of photons with photon primary
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
112 TH1F * fhChargedReg ;
122 TH1F * fhChargedPPSD ;
139 ClassDef(AliPHOSAnalyze,1) // PHOSv1 event analyzis algorithm
143 #endif // AliPHOSANALYZE_H