]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PHOS/AliPHOSAnalyze.h
Fixes for not filled histograms and calculation of Dijet binning
[u/mrichter/AliRoot.git] / PHOS / AliPHOSAnalyze.h
index 2160e225e55529d7236c03d4312b3664a5b6631a..a8bbcb6120460d214b43a5bd0de2b6078bf20620 100644 (file)
@@ -24,8 +24,8 @@ class TH2F ;
 
 class AliPHOSv1 ;
 class AliPHOSGeometry ;
-class AliPHOSPID ;
-class AliPHOSIndexToObject ;
+class AliPHOSLoader ;
+class AliRunLoader ; 
 
 class AliPHOSAnalyze : public TObject {
 
@@ -36,105 +36,43 @@ public:
   AliPHOSAnalyze(const AliPHOSAnalyze & ana) ; // cpy ctor                   
   virtual ~AliPHOSAnalyze() ;     // dtor
 
-  void DrawRecon(Int_t Nevent= 0,Int_t Nmod = 1) ;  // draws positions of entering and 
-                                                    //reconstructed points in PHOS plain
-  void AnalyzeResolutions (Int_t Nevents) ; // analyzes Energy and Position resolutions   ;
-  void ReadAndPrintEMC(Int_t EvFirst=0, Int_t EvLast=0); // Read & print generated and reconstructed hits in EMC
-  void ReadAndPrintCPV(Int_t EvFirst=0, Int_t EvLast=0); // Read & print generated and reconstructed hits in CPV
-  void AnalyzeCPV(Int_t Nevents);           // analyzes various CPV characteristics
-  void AnalyzeEMC(Int_t Nevents);           // analyzes EMC resolution
-  void InvariantMass(Int_t Nevents = 100) ; 
-  //  void Reconstruct(Int_t Nevtents = 100,Int_t FirstEvent = 0) ;
-  void BookingHistograms() ;                // booking histograms for the ManyEvent analysis ;
-  void BookResolutionHistograms() ;         // booking histograms for the Resoluion analysis ;
-  void Copy(TObject & obj) ;                // copies an analysis into an other one   
-  Float_t CorrectEnergy(Float_t ERecPart) ;   //Corrects reconstracted energy
-  Bool_t OpenRootFile(Text_t * name) ;      // opens the root file
-  void SaveHistograms() ;                   // Save histograms in a root file
-  void ResetHistograms() ;                  // 
-  AliPHOSAnalyze & operator = (const AliPHOSAnalyze & rvalue)  {
-    // assignement operator requested by coding convention
-    // but not needed
-    abort() ;
+  void DrawRecon(Int_t Nevent= 0,Int_t Nmod = 1) ; 
+  // draws positions of entering of primaries and reconstructed objects in PHOS
+
+  void InvariantMass() ;      // Photons invariant mass distributions
+
+  void EnergyResolution () ;  // analyzes Energy resolution ;
+
+  void PositionResolution() ; // analyzes Position resolution ;
+
+  void Contamination() ;      // Counts contamination of photon spectrum
+
+  void Ls() ; //Prints PHOS-related contents of TreeS, TreeD and TreeR
+
+  void SetEnergyCorrection(Float_t ecor){fCorrection = ecor ;} 
+
+  AliPHOSAnalyze & operator = (const AliPHOSAnalyze & /*rvalue*/)  {
+    // assignement operator requested by coding convention but not needed
+    Fatal("operator =", "not implemented") ;
     return *this ; 
   }
-  void SetDebugLevel(Int_t flag) { fDebugLevel = flag; }
  
- private:
-  
-  //  AliPHOSClusterizer * fClu ;         // a clusterizer 
-  Int_t fEvt ;                        // the evt number being processed 
-  AliPHOSGeometry * fGeom ;           // the PHOS Geometry object
-  AliPHOSIndexToObject * fObjGetter ; // provides methods to retrieve objects from their index in a list
-  AliPHOSv1 * fPHOS ;                 // the PHOS object from the root file 
-  //  AliPHOSPID * fPID ;                 // a particle identifier
-  //  AliPHOSReconstructioner * fRec ;    // a reconstructioner  
-  TFile * fRootFile ;                 // the root file that contains the data
-  //  AliPHOSTrackSegmentMaker * fTrs ;   // a tracksegmentmaker ;
-
-  Int_t fDebugLevel;                  // debug level for analysis
-
-  TH2F * fhEnergyCorrelations ;     //Energy correlations between Eloss in Convertor and PPSD(2)
-
-
-  TH1F * fhEmcDigit ;               // Histo of digit energies in the Emc 
-  TH1F * fhVetoDigit ;              // Histo of digit energies in the Veto 
-  TH1F * fhConvertorDigit ;         // Histo of digit energies in the Convertor
-  TH1F * fhEmcCluster ;             // Histo of Cluster energies in Emc
-  TH1F * fhVetoCluster ;            // Histo of Cluster energies in Veto
-  TH1F * fhConvertorCluster ;       // Histo of Cluster energies in Convertor
-  TH2F * fhConvertorEmc ;           // 2d Convertor versus Emc energies
-
-  TH2F * fhAllEnergy ;       // Spectrum of detected photons with photon primary
-  TH2F * fhPhotEnergy ;      // Total spectrum of detected photons
-  TH2F * fhEMEnergy ;        // Spectrum of detected neutral EM with EM primary
-  TH2F * fhPPSDEnergy ;      // Spectrum of particles detected in PPSD with primary particle 
-
-  TH2F * fhAllPosition ;     // Position Resolution of  photons with photon primary
-  TH2F * fhPhotPosition ;    // Position Resolution of  photons
-  TH2F * fhEMPosition ;      // Position Resolution of neutral EM with EM primary
-  TH2F * fhPPSDPosition ;    // Position Resolution of neutral EM
-
-  TH1F * fhAllPositionX ;    // X-Position Resolution of  photons with photon primary
-  TH1F * fhAllPositionZ ;    // Z-Position Resolution of  photons with photon primary
-
-  TH1F * fhPhotonPositionY ;        // Y distribution of detected photons
-  TH1F * fhElectronPositionY ;      // Y distribution of detected electrons
-  TH1F * fhNeutralHadronPositionY ; // Y distribution of detected neutral hadron
-  TH1F * fhNeutralEMPositionY ;     // Y distribution of detected neutral EM
-  TH1F * fhChargedHadronPositionY ; // Y distribution of detected charged
-  TH1F * fhPhotonHadronPositionY ;  // Y distribution of detected Photon-Hadron
-
-  TH1F * fhPhotReg ;          
-  TH1F * fhAllReg ;          
-  TH1F * fhNReg ;          
-  TH1F * fhNBarReg ;          
-  TH1F * fhChargedReg ;          
-  TH1F * fhPhotEM ;          
-  TH1F * fhAllEM ;          
-  TH1F * fhNEM ;          
-  TH1F * fhNBarEM ;          
-  TH1F * fhChargedEM ;          
-  TH1F * fhPhotPPSD ;          
-  TH1F * fhAllPPSD ;          
-  TH1F * fhNPPSD ;          
-  TH1F * fhNBarPPSD ;          
-  TH1F * fhChargedPPSD ;          
-
-  TH1F * fhPrimary ;          
-  TH1F * fhAllRP ;
-  TH1F * fhPPSD ;
-  TH1F * fhShape ;
-  TH1F * fhVeto ;
-
-  TH1F * fhPhotPhot ;
-  TH1F * fhPhotElec ;
-  TH1F * fhPhotNeuH ;
-  TH1F * fhPhotNuEM ; 
-  TH1F * fhPhotChHa ;
-  TH1F * fhPhotGaHa ;
+private:
+
+  Float_t CorrectedEnergy(Float_t ReconstEnergy)const
+    {return ReconstEnergy * fCorrection;} 
+  //Converts reconstructed energy (energy of the EMCRecPoint) to the energy of primary
+  //The coeficient shoud be (and was) calculated usin Erec vs. Eprim plot 
+  //(see Energy Resolution function). However, if one change parameters of reconstruction 
+  //or geometry, one have to recalculate coefficient!
+
+private:
 
+  Float_t fCorrection ;               //! Conversion coefficient between True and Reconstructed energies
+  Int_t   fEvt ;                      //! the evt number being processed 
+  TString ffileName ;                 //! the root file that contains the data
 
+  AliRunLoader* fRunLoader;           //! run loader of the specified filename
 
 ClassDef(AliPHOSAnalyze,1)  // PHOSv1 event analyzis algorithm