b940e26b5247714d455cb05c4a60bff165b7fc89
[u/mrichter/AliRoot.git] / PHOS / AliPHOSAnalyze.h
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
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
12 //*--
13 //*-- Author : Yves Schutz (SUBATECH)
14
15 // --- ROOT system ---
16
17 class TFile ;
18 class TH1F ;
19 class TH2F ;
20
21 // --- Standard library ---
22
23 // --- AliRoot header files ---
24
25 class AliPHOSv1 ;
26 class AliPHOSGeometry ;
27 class AliPHOSIndexToObject ;
28
29 class AliPHOSAnalyze : public TObject {
30
31 public:
32
33   AliPHOSAnalyze() ;              // ctor
34   AliPHOSAnalyze(Text_t * name) ; // ctor
35   AliPHOSAnalyze(const AliPHOSAnalyze & ana) ; // cpy ctor                   
36   virtual ~AliPHOSAnalyze() ;     // dtor
37
38   void DrawRecon(Int_t Nevent= 0,Int_t Nmod = 1,
39                  const char* branchName = "PHOSRP",
40                  const char* branchTitle = "") ; 
41   // draws positions of entering of primaries and reconstructed objects in PHOS
42
43   void InvariantMass(const char* RecPartTitle = "") ;      // Photons invariant mass distributions
44
45   void EnergyResolution (const char* RecPartTitle = "") ;  // analyzes Energy resolution ;
46
47   void PositionResolution(const char* RecPartTitle = "") ; // analyzes Position resolution ;
48
49   void Contamination(const char* RecPartTitle = "") ;      // Counts contamination of photon spectrum
50
51   void Ls() ; //Prints PHOS-related contents of TreeS, TreeD and TreeR
52
53   void SetEnergyCorrection(const Float_t ecor){fCorrection = ecor ;} 
54
55   AliPHOSAnalyze & operator = (const AliPHOSAnalyze & rvalue)  {
56     // assignement operator requested by coding convention but not needed
57     abort() ;
58     return *this ; 
59   }
60  
61 private:
62
63   Float_t CorrectedEnergy(const Float_t ReconstEnergy)const
64     {return ReconstEnergy * fCorrection;} 
65   //Converts reconstructed energy (energy of the EMCRecPoint) to the energy of primary
66   //The coeficient shoud be (and was) calculated usin Erec vs. Eprim plot 
67   //(see Energy Resolution function). However, if one change parameters of reconstruction 
68   //or geometry, one have to recalculate coefficient!
69
70 private:
71
72   Float_t fCorrection ;               //! Conversion coefficient between True and Reconstructed energies
73   Int_t   fEvt ;                      //! the evt number being processed 
74   AliPHOSGeometry * fGeom ;           //! the PHOS Geometry object
75   AliPHOSIndexToObject * fObjGetter ; //! provides methods to retrieve objects from their index in a list
76   TString ffileName ;                 //! the root file that contains the data
77
78
79 ClassDef(AliPHOSAnalyze,1)  // PHOSv1 event analyzis algorithm
80
81 };
82
83 #endif // AliPHOSANALYZE_H