Adding statistical function (Marian)
[u/mrichter/AliRoot.git] / PHOS / AliPHOSGammaJet.h
index 80b8ecf..32ce4ca 100644 (file)
@@ -7,6 +7,12 @@
 /* History of cvs commits:
  *
  * $Log$
+ * Revision 1.11  2006/01/12 17:01:00  schutz
+ * Correct few coding violations, missing comments
+ *
+ * Revision 1.9  2005/12/20 07:31:51  schutz
+ * added data members
+ *
  * Revision 1.7  2005/05/28 14:19:04  schutz
  * Compilation warnings fixed by T.P.
  *
 #include "TTask.h"
 #include "TRandom.h"
 #include "TArrayD.h"
-class AliPHOSGeometry ;
+#include "AliESD.h"
+#include "TChain.h"
+
 class AliPHOSFastGlobalReconstruction ;
+
 //#include "../PYTHIA6/AliGenPythia.h"
+
 // --- AliRoot header files ---
 
 class AliPHOSGammaJet : public TTask {
@@ -37,8 +47,7 @@ public:
   AliPHOSGammaJet() ; // default ctor
   AliPHOSGammaJet(const TString inputfilename) ; //ctor 
   AliPHOSGammaJet(const AliPHOSGammaJet & gj) ; // cpy ctor
-  AliPHOSGammaJet & operator = (const AliPHOSGammaJet & /*rvalue*/) 
-    { return *this ;} //assignement operator requested by coding convention but not needed
+
   virtual ~AliPHOSGammaJet() ; //virtual dtor
   virtual void   Exec(Option_t *option); 
   void List() const; 
@@ -70,6 +79,11 @@ public:
    TString  GetConeName(Int_t i) const {return fNameCones[i] ; }
    TString  GetPtThresName(Int_t i) const {return fNamePtThres[i] ; }
    Bool_t   GetTPCCutsLikeEMCAL() const {return fTPCCutsLikeEMCAL ; }
+   Bool_t   IsESDdata() const {return fESDdata ; }
+
+   TString  GetDirName() const {return fDirName ; }
+   TString  GetESDTreeName() const {return fESDTree ; }
+   char *   GetDirPattern()  const {return fPattern ; }
 
    Bool_t   IsAnyConeOrPt() const {return fAnyConeOrPt ; }
    Bool_t   IsFastReconstruction() const {return fOptFast ; }
@@ -120,32 +134,43 @@ public:
   void SetRatioCutRange(Double_t ratiomin, Double_t ratiomax)
   {fRatioMaxCut = ratiomax;  fRatioMinCut = ratiomin;}
   void SetTPCCutsLikeEMCAL(Bool_t b){ fTPCCutsLikeEMCAL= b ; }
+  void SetESDdata(Bool_t b){ fESDdata= b ; }
  
+  void  SetDirName(TString dn) { fDirName  = dn ; }
+  void  SetESDTreeName(TString en) { fESDTree = en ; }
+  void  SetDirPattern(char * dp)  { fPattern = dp ; }
 
  private:
+  AliPHOSGammaJet & operator = (const AliPHOSGammaJet & /*rvalue*/) 
+  { return *this ;}
+
+
 //   void AddHIJINGToList(TList & particleList, TList & particleListCh, 
 //                    TList & particleListNe, const Int_t iEvent, 
 //                    const TLorentzVector gamma, Double_t & rot ); 
  
   void AddHIJINGToList(Int_t iEvent, TClonesArray * particleList, 
                       TClonesArray * plCh, TClonesArray * plNe, 
-                      TClonesArray * plNePHOS, const AliPHOSGeometry * geom); 
+                      TClonesArray * plNePHOS); 
 
 
-  Double_t CalculateJetRatioLimit(Double_t ptg, const Double_t *param, 
+  Double_t CalculateJetRatioLimit(const Double_t ptg, const Double_t *param, 
                                  const Double_t *x);
 
   void CreateParticleList(Int_t iEvent, TClonesArray * particleList, 
                          TClonesArray * plCh, TClonesArray * plNe, 
-                         TClonesArray * plNePHOS, 
-                         const AliPHOSGeometry * geom );
+                         TClonesArray * plNePHOS); 
+  void CreateParticleListFromESD(TClonesArray * particleList, 
+                                TClonesArray * plCh, TClonesArray * plNe, 
+                                TClonesArray * plNePHOS,  
+                                const AliESD * esd );//, Int_t iEvent); 
   
   void FillJetHistos(TClonesArray * pl, Double_t ptg, TString conf, TString type);
 
   void FillJetHistosAnyConeOrPt( TClonesArray * pl, Double_t ptg, TString conf, 
                                 TString type, TString cone, TString ptcut);
-  Bool_t IsAngleInWindow(Float_t angle, Float_t e);
-  Bool_t IsJetSelected(Double_t ptg, Double_t ptjet, 
+  Bool_t IsAngleInWindow(const Float_t angle, const Float_t e);
+  Bool_t IsJetSelected(const Double_t ptg, const Double_t ptjet, 
                       const TString type);
 
   void MakeJet(TClonesArray * particleList, 
@@ -166,16 +191,26 @@ public:
                        Double_t &pt, Double_t &eta, Double_t &phi)  ;
 
   void InitParameters();
-  Double_t MakeEnergy(Double_t energy) ;
+  Double_t MakeEnergy(const Double_t energy) ;
   void MakeHistos() ;
   void MakePhoton(TLorentzVector & particle) ; 
-  TVector3 MakePosition(Double_t energy, const TVector3 pos) ;
+  TVector3 MakePosition(const Double_t energy, const TVector3 pos) ;
  
   void Pi0Decay(Double_t mPi0, TLorentzVector &p0, 
                TLorentzVector &p1, TLorentzVector &p2, Double_t &angle) ;
+
+  TChain * ReadESDfromdisk(const UInt_t eventsToRead,
+                             const TString dirName, 
+                             const TString esdTreeName = "esdTree",
+                             const char *  pattern     = "Evt") ;
+  TChain * ReadESD(const UInt_t eventsToRead = 1,
+                     TString fileName  = "",
+                     const TString esdTreeName = "esdTree",
+                     const char *  pattern     = "Evt" ) ;
+  
   Double_t SigmaE(Double_t energy) ;
   Double_t SigmaP(Double_t energy) ;
-
+  
   void SetJet(TParticle * part, Bool_t & b, Float_t cone, Double_t eta, 
              Double_t phi);
 
@@ -188,6 +223,7 @@ public:
   TString    fInputFileName;   //!
   TString    fHIJINGFileName;  //!
   Bool_t     fHIJING;          // Add HIJING event to PYTHIA event?
+  Bool_t     fESDdata ;        // Read ESD?      
   Double_t   fEtaCut ;         // Eta cut
   Bool_t     fOnlyCharged ;    // Only jets of charged particles
   Double_t   fPhiEMCALCut[2] ; // Phi cut maximum
@@ -203,6 +239,11 @@ public:
   Double_t   fRatioMinCut ;    // Leading particle/gamma Ratio cut minimum
   Bool_t     fTPCCutsLikeEMCAL ; //Same jet energy ratio limits for both conf.
 
+  //Read ESD Paramenters
+  TString fDirName ; //Name of the directory where data is
+  TString fESDTree ; //Name of the ESD Tree
+  char *  fPattern ; //Pattern followed by  directory data
+
   //Jet selection parameters
   //Fixed cuts (old)
   Double_t   fJetTPCRatioMaxCut ; // Leading particle/gamma Ratio cut maximum
@@ -245,7 +286,7 @@ public:
   TArrayD    fAngleMaxParam ; //Max opening angle selection parameters
   Bool_t fSelect  ;  //Select jet within limits
 
-  ClassDef(AliPHOSGammaJet,2)
+  ClassDef(AliPHOSGammaJet,3)
 } ;