]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGGA/EMCALTasks/AliAnalysisTaskEMCALIsoPhoton.h
including an old fix for EMCal matrices not applied to this code
[u/mrichter/AliRoot.git] / PWGGA / EMCALTasks / AliAnalysisTaskEMCALIsoPhoton.h
index a737350201b07e8975ef9dc473c4c20d170736c4..9d5e604216351a50c330d377d599ce0c1d010838 100644 (file)
@@ -10,14 +10,18 @@ class THnSparse;
 class TList;
 class TObjArray;
 class AliEMCALGeometry;
+class AliOADBContainer;
 class AliESDCaloCells;
 class AliESDEvent;
 class AliESDtrack;
 class AliESDtrackCuts;
+class AliAODEvent;
+class AliAODCaloCells;
 class AliVCluster;
 class AliMCEvent;
 class AliStack;
 class TParticle;
+class TGeoHMatrix;
 
 #include "AliAnalysisTaskSE.h"
 
@@ -31,7 +35,7 @@ class AliAnalysisTaskEMCALIsoPhoton : public AliAnalysisTaskSE {
   void                   UserExec(Option_t *option);
   void                   Terminate(Option_t *);
 
-  void                   GetCeIso(TVector3 vec, Float_t &iso, Float_t &phiband, Float_t &core);
+  void                   GetCeIso(TVector3 vec, Int_t maxid, Float_t &iso, Float_t &phiband, Float_t &core);
   Double_t               GetCrossEnergy(const AliVCluster *cluster, Short_t &idmax);
   Double_t               GetMaxCellEnergy(const AliVCluster *cluster, Short_t &id) const; 
   void                   GetTrIso(TVector3 vec, Float_t &iso, Float_t &phiband, Float_t &core);
@@ -52,15 +56,21 @@ class AliAnalysisTaskEMCALIsoPhoton : public AliAnalysisTaskSE {
   void                   SetDebugOn(Bool_t d)                   { fDebug              = d;       }
   void                   SetPathStringSelect(char *p)           { fPathStrOpt         = p;       }
   void                   SetEtCut(Double_t ec)                  { fECut               = ec;      }
+  void                   SetImportGeometryFromFile(Bool_t  im, 
+                                           TString pa = "")     { fImportGeometryFromFile = im ; 
+                                                                  fImportGeometryFilePath = pa ; }    
   
  protected:
-  TRefArray             *fCaloClusters;          //!pointer to EMCal clusters
+  TObjArray             *fESDClusters;           //!pointer to EMCal clusters
+  TObjArray             *fAODClusters;           //!pointer to EMCal clusters
   TObjArray             *fSelPrimTracks;         //!pointer to ESD primary tracks
   TClonesArray          *fTracks;                //!track input array
-  AliESDCaloCells       *fEMCalCells;            //!pointer to EMCal cells
+  AliESDCaloCells       *fESDCells;              //!pointer to EMCal cells, esd
+  AliAODCaloCells       *fAODCells;              //!pointer to EMCal cells, aod  
   AliESDtrackCuts       *fPrTrCuts;              //pointer to hold the prim track cuts
   AliEMCALGeometry      *fGeom;                  // geometry utils
   TString                fGeoName;               // geometry name (def = EMCAL_FIRSTYEARV1)
+  AliOADBContainer      *fOADBContainer;         //!OADB container used to load misalignment matrices
   TString                fPeriod;                // string to the LHC period
   TString                fTrigBit;               // string to the trigger bit name
   Bool_t                 fIsTrain;               // variable to set train mode
@@ -76,13 +86,16 @@ class AliAnalysisTaskEMCALIsoPhoton : public AliAnalysisTaskSE {
   Int_t                  fNClusForDirPho;        // number of clusters from prompt photon per event
   Float_t                fDirPhoPt;              // prompt photon pt (assumes only one per event)
   Float_t                fHigherPtCone;          // higher pt inside the cone around the candidate
+  Bool_t                 fImportGeometryFromFile;  // Import geometry settings in geometry.root file
+  TString                fImportGeometryFilePath;  // path fo geometry.root file
 
   
  private:
   AliESDEvent *fESD;      //! ESD object
+  AliAODEvent *fAOD;      //! AOD object
   AliMCEvent  *fMCEvent;  //! MC event object
   AliStack    *fStack;    //!MC particles stack object
-
+  TGeoHMatrix *fGeomMatrix[12];//! Geometry misalignment matrices for EMCal
   TList       *fOutputList; //! Output list
   //histograms for events with 1+ track pt>1
   TH1F        *fEvtSel;                    //!evt selection counter: 0=all trg, 1=pv cut 
@@ -102,6 +115,8 @@ class AliAnalysisTaskEMCALIsoPhoton : public AliAnalysisTaskSE {
   TH2F        *fMcPtInConeSBG;             //!sum of mc-pt of "primary" particles inside de cone, as a function of NET-ISO in SBG range
   TH2F        *fMcPtInConeBGnoUE;          //!sum of mc-pt of "primary" particles inside de cone, as a function of NET-ISO in BG template no UE sub
   TH2F        *fMcPtInConeSBGnoUE;         //!sum of mc-pt of "primary" particles inside de cone, as a function of NET-ISO in SBG range no UE sub
+  TH2F        *fAllIsoEtMcGamma;           //!all iso distribution vs. Et clus for clusters comming from a MC prompt photon
+  TH2F        *fAllIsoNoUeEtMcGamma;       //!all iso distribution (without UE subtraction) vs. Et clus for clusters comming from a MC prompt photon
   TH3F        *fMCDirPhotonPtEtaPhiNoClus; //!pt x eta x phi for prompt photons that didn't produce clusters
   THnSparse   *fHnOutput;                  //!Output matrix with 7 dimensions