Chamber half-planes of stations 3-5 at different z-positions.
[u/mrichter/AliRoot.git] / PHOS / AliPHOSAnalyze.h
CommitLineData
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
27class AliPHOSAnalyze : public TObject {
28
29public:
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 AnalyzeResolutions(Int_t Nevtents) ; // analyzes Energy and Position resolutions ;
39 void ReadAndPrintCPV(Int_t Nevents); // Read & print generated and reconstructed hits in CPV
40 void AnalyzeCPV(Int_t Nevents); // analyzes various CPV characteristics
69183710 41 void InvariantMass(Int_t Nevents = 100) ;
42 void Reconstruct(Int_t Nevtents = 100,Int_t FirstEvent = 0) ;
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
69183710 46 Float_t CorrectEnergy(Float_t ERecPart) ; //Corrects reconstracted energy
6ad0bfa0 47 Bool_t Init(Int_t evt) ; // does various initialisations
48 void DisplayKineEvent(Int_t evt = -999) ; // displays the Kine events in ALICE coordinate
49 void DisplayRecParticles() ; // displays RecParticles in ALICE coordinate
50 void DisplayRecPoints() ; // displays RecPoints in module coordinate
51 void DisplayTrackSegments() ; // displays TrackSegments in module coordinate
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
69183710 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 ;
92
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
b2a60966 98 TH1F * fhPhotonPositionY ; // Y distribution of detected photons
99 TH1F * fhElectronPositionY ; // Y distribution of detected electrons
100 TH1F * fhNeutralHadronPositionY ; // Y distribution of detected neutral hadron
101 TH1F * fhNeutralEMPositionY ; // Y distribution of detected neutral EM
102 TH1F * fhChargedHadronPositionY ; // Y distribution of detected charged
103 TH1F * fhPhotonHadronPositionY ; // Y distribution of detected Photon-Hadron
69183710 104
105 TH1F * fhPhotReg ;
fc879520 106 TH1F * fhAllReg ;
107 TH1F * fhNReg ;
108 TH1F * fhNBarReg ;
109 TH1F * fhChargedReg ;
69183710 110 TH1F * fhPhotEM ;
fc879520 111 TH1F * fhAllEM ;
112 TH1F * fhNEM ;
113 TH1F * fhNBarEM ;
114 TH1F * fhChargedEM ;
69183710 115 TH1F * fhPhotPPSD ;
116 TH1F * fhAllPPSD ;
117 TH1F * fhNPPSD ;
118 TH1F * fhNBarPPSD ;
119 TH1F * fhChargedPPSD ;
120
fc879520 121 TH1F * fhPrimary ;
69183710 122 TH1F * fhAllRP ;
123 TH1F * fhPPSD ;
124 TH1F * fhShape ;
125 TH1F * fhVeto ;
fc879520 126
127 TH1F * fhPhotPhot ;
128 TH1F * fhPhotElec ;
129 TH1F * fhPhotNeuH ;
130 TH1F * fhPhotNuEM ;
131 TH1F * fhPhotChHa ;
132 TH1F * fhPhotGaHa ;
133
92862013 134
6ad0bfa0 135
5f20d3fb 136ClassDef(AliPHOSAnalyze,1) // PHOSv1 event analyzis algorithm
6ad0bfa0 137
138};
139
140#endif // AliPHOSANALYZE_H