X-Git-Url: http://git.uio.no/git/?p=u%2Fmrichter%2FAliRoot.git;a=blobdiff_plain;f=PHOS%2FAliPHOSAnalyze.h;h=a8bbcb6120460d214b43a5bd0de2b6078bf20620;hp=3d41013b054f13450709a81c7357ace805c0cbe0;hb=1d2a91c902e1cde1856e52d9c653bfc9c7cd7777;hpb=26d4b1416bff7602d6300ccf6c1e0fcfa2bd4f8e diff --git a/PHOS/AliPHOSAnalyze.h b/PHOS/AliPHOSAnalyze.h index 3d41013b054..a8bbcb61204 100644 --- a/PHOS/AliPHOSAnalyze.h +++ b/PHOS/AliPHOSAnalyze.h @@ -5,26 +5,27 @@ /* $Id$ */ -//////////////////////////////////////////////// -// Algorythm class to analyze PHOS events // -// Yves Schutz SUBATECH // -// // -// // -//////////////////////////////////////////////// +//_________________________________________________________________________ +// Algorythm class to analyze PHOSv1 events: +// Construct histograms and displays them. +// Use the macro EditorBar.C for best access to the functionnalities +//*-- +//*-- Author : Yves Schutz (SUBATECH) // --- ROOT system --- -#include "TFile.h" -#include "TH1.h" -#include "TH2.h" +class TFile ; +class TH1F ; +class TH2F ; // --- Standard library --- // --- AliRoot header files --- -#include "AliPHOSv0.h" -#include "AliPHOSGeometry.h" -#include "AliPHOSPID.h" +class AliPHOSv1 ; +class AliPHOSGeometry ; +class AliPHOSLoader ; +class AliRunLoader ; class AliPHOSAnalyze : public TObject { @@ -32,51 +33,48 @@ public: AliPHOSAnalyze() ; // ctor AliPHOSAnalyze(Text_t * name) ; // ctor + AliPHOSAnalyze(const AliPHOSAnalyze & ana) ; // cpy ctor virtual ~AliPHOSAnalyze() ; // dtor - void AnalyzeOneEvent(Int_t evt = -999) ; // analyzes a single event ; - void AnalyzeManyEvents(Int_t Nevtents = 100, Int_t Module=0) ; // analyzes many events ; - void BookingHistograms() ; // booking histograms for the ManyEvent analysis ; - Bool_t Init(Int_t evt) ; // does various initialisations - void DisplayKineEvent(Int_t evt = -999) ; // displays the Kine events in ALICE coordinate - void DisplayRecParticles() ; // displays RecParticles in ALICE coordinate - void DisplayRecPoints() ; // displays RecPoints in module coordinate - void DisplayTrackSegments() ; // displays TrackSegments in module coordinate - Bool_t OpenRootFile(Text_t * name) ; // opens the root file - void SavingHistograms() ; // Save histograms in a root file + 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 ; + } private: - - AliPHOSClusterizer * fClu ; // a clusterizer - Int_t fEvt ; // the evt number being processed - AliPHOSGeometry * fGeom; // the PHOS Geometry object - AliPHOSv0 * 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 ; - 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 - TH1F * fhPhotonEnergy ; // Spectrum of detected photons - TH1F * fhElectronEnergy ; // Spectrum of detected electrons - TH1F * fhNeutralEnergy ; // Spectrum of detected neutrals - TH1F * fhChargedEnergy ; // Spectrum of detected charged - TH1F * fhPhotonPositionX ; // X distribution of detected photons - TH1F * fhElectronPositionX ; // X distribution of detected electrons - TH1F * fhNeutralPositionX ; // X distribution of detected neutrals - TH1F * fhChargedPositionX ; // X distribution of detected charged - TH1F * fhPhotonPositionY ; // Y distribution of detected photons - TH1F * fhElectronPositionY ; // Y distribution of detected electrons - TH1F * fhNeutralPositionY ; // Y distribution of detected neutrals - TH1F * fhChargedPositionY ; // Y distribution of detected charged - - -ClassDef(AliPHOSAnalyze,1) // PHOS event analyzis , version 1 + + 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 };