X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PHOS%2FAliPHOSAnalyze.h;h=a8bbcb6120460d214b43a5bd0de2b6078bf20620;hb=7e6ee5e39d1f413890d7227279bc5da9fda26849;hp=07217a870df138287827dba3bb55c6a9194f82e3;hpb=8c0cd6e9bdb1c2eaed46b4e3f7d9da7ca47f8cfd;p=u%2Fmrichter%2FAliRoot.git diff --git a/PHOS/AliPHOSAnalyze.h b/PHOS/AliPHOSAnalyze.h index 07217a870df..a8bbcb61204 100644 --- a/PHOS/AliPHOSAnalyze.h +++ b/PHOS/AliPHOSAnalyze.h @@ -14,18 +14,18 @@ // --- ROOT system --- -#include "TFile.h" -#include "TH1.h" -#include "TH2.h" +class TFile ; +class TH1F ; +class TH2F ; // --- Standard library --- // --- AliRoot header files --- -#include "AliPHOSv1.h" -#include "AliPHOSGeometry.h" -#include "AliPHOSPID.h" -#include "AliPHOSIndexToObject.h" +class AliPHOSv1 ; +class AliPHOSGeometry ; +class AliPHOSLoader ; +class AliRunLoader ; class AliPHOSAnalyze : public TObject { @@ -36,105 +36,43 @@ public: AliPHOSAnalyze(const AliPHOSAnalyze & ana) ; // cpy ctor virtual ~AliPHOSAnalyze() ; // dtor - void ActivePPSD(Int_t Nevents) ; - void AnalyzeManyEvents(Int_t Nevtents = 100, Int_t Module=0) ; // analyzes many events ; - void AnalyzeResolutions(Int_t Nevtents) ; // analyzes Energy and Position resolutions ; - 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 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 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 SaveHistograms() ; // Save histograms in a root file - void ResetHistograms() ; // - AliPHOSAnalyze & operator = (const AliPHOSAnalyze & rvalue) { - // assignement operator requested by coding convention - // but not needed - assert(0==1) ; + 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 ; - - 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 * 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