]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGGA/EMCALTasks/AliAnalysisTaskEMCALIsoPhoton.h
bug fix in mc histos and addition of two mc histos to check trk-iso
[u/mrichter/AliRoot.git] / PWGGA / EMCALTasks / AliAnalysisTaskEMCALIsoPhoton.h
index 3ee7be8891f11163dd4ce5960815e89ff6d73b51..42cf54616e0567a71d29f99aa8eda7e3c5fcf56f 100644 (file)
@@ -48,6 +48,7 @@ class AliAnalysisTaskEMCALIsoPhoton : public AliAnalysisTaskSE {
   void                   GetDaughtersInfo(int firstd, int lastd, int selfid, const char *indputindent);
   Float_t                GetMcPtSumInCone(Float_t etaclus, Float_t phiclus, Float_t R);
   void                   LoopOnCells();
+  bool                   IsExotic(AliVCluster *c);
   void                   SetExotCut(Double_t c)                 { fExoticCut          = c;       }
   void                   SetGeoName(const char *n)              { fGeoName            = n;       }
   void                   SetIsoConeR(Double_t r)                { fIsoConeR           = r;       }
@@ -63,8 +64,14 @@ class AliAnalysisTaskEMCALIsoPhoton : public AliAnalysisTaskSE {
                                            TString pa = "")     { fImportGeometryFromFile = im ; 
                                                                   fImportGeometryFilePath = pa ; }    
   void                  SetTrackFilterBit(ULong_t bit)          { fFilterBit = bit;  }
-  void                  SetHybridOn()                          { fSelHybrid = kTRUE; }
-  void                  SetFillQA()                            { fFillQA = kTRUE; }
+  void                  SetHybridOn()                           { fSelHybrid = kTRUE; }
+  void                  SetFillQA()                             { fFillQA = kTRUE; }
+  void                  SelectCPVFromTrack(Bool_t b)            { fCpvFromTrack = b; }
+  void                  SetEtPtHistoBinning(Int_t n, 
+                                           Double_t lowx, 
+                                           Double_t highx)     { fNBinsPt = n; fPtBinLowEdge = lowx; fPtBinHighEdge = highx; }
+  void                  SetRemoveMatchClus(Bool_t b)            { fRemMatchClus       = b;       }
+  void                  SetMinIsoClusE(Double_t emin)           { fMinIsoClusE        = emin;    }
 
  protected:
   TObjArray             *fESDClusters;           //!pointer to EMCal clusters
@@ -100,6 +107,15 @@ class AliAnalysisTaskEMCALIsoPhoton : public AliAnalysisTaskSE {
   ULong_t                fFilterBit;             // Track selection bit, for AODs 
   Bool_t                 fSelHybrid;             // bool to select hybrid tracks
   Bool_t                 fFillQA;                // bool to fill the QA plots
+  TString                fClusIdFromTracks;      // string to hold the list of cluster ids given by tracks
+  Bool_t                 fCpvFromTrack;          // set the track-matching method to track->GetEMCALcluster()
+  Int_t                  fNBinsPt;               // set the number of bins in axis of histograms filled with pt (or Et)
+  Double_t               fPtBinLowEdge;          // low edge of the first pt (Et) bin
+  Double_t               fPtBinHighEdge;         // high edge of the first pt (Et) bin
+  Bool_t                 fRemMatchClus;          // flag to remove completely a cluster matched from the isolation
+  Double_t               fMinIsoClusE;           // minimum energy for a cluster to be counted in the iso cone
+  Int_t                  fNCuts;                 // number of cuts (QA purposes)
+  TString                fCuts;                  //string to hol cuts names
 
 
   
@@ -119,6 +135,7 @@ class AliAnalysisTaskEMCALIsoPhoton : public AliAnalysisTaskSE {
   TH1F        *fTrMultDist;                //!track multiplicity distribution
   TH3F        *fMCDirPhotonPtEtaPhi;       //!direct produced photon pt, eta, phi
   TH3F        *fMCIsoDirPhotonPtEtaPhi;    //!direct produced photon pt, eta, phi, isolated @ mc level
+  TH2F        *fMCDirPhotonPtEtIso;        //!direct produced photon pt and isolation pt @ mc level
   TH1F        *fDecayPhotonPtMC;           //!decay photon pt
   TH2F        *fCellAbsIdVsAmpl;           //!cell abs id vs cell amplitude (energy)
   TH2F        *fNClusHighClusE;            //!total number of clusters vs. highest clus energy in the event
@@ -128,8 +145,10 @@ class AliAnalysisTaskEMCALIsoPhoton : public AliAnalysisTaskSE {
   TH2F        *fNClusPerPho;               //!delta-eta x delta-phi(reco-mc)
   TH2F        *fMcPtInConeBG;              //!sum of mc-pt of "primary" particles inside de cone, as a function of NET-ISO in BG template
   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        *fMcPtInConeBGnoUE;          //!sum of mc-pt of "primary" particles inside de cone, as a function of ISO in BG template no UE sub
+  TH2F        *fMcPtInConeSBGnoUE;         //!sum of mc-pt of "primary" particles inside de cone, as a function of ISO in SBG range no UE sub
+  TH2F        *fMcPtInConeTrBGnoUE;        //!sum of mc-pt of "primary" particles inside de cone, as a function of trk only ISO in BG template no UE sub
+  TH2F        *fMcPtInConeTrSBGnoUE;       //!sum of mc-pt of "primary" particles inside de cone, as a function of trk only 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
@@ -143,6 +162,10 @@ class AliAnalysisTaskEMCALIsoPhoton : public AliAnalysisTaskSE {
   TH1F        *fEmcNClusCut;      //!# of clusters in an event with at least 1 clus with E > fECut ("triggered event")
   TH1F        *fNTracksECut;      //!number of tracks from Array->GetEntries() in "triggered event"
   TH1F        *fEmcNCellsCut;     //!number of emcal cells in a in "triggered event"
+  TH1F        *fEmcClusETM1;      //!emcal track matched cluster energy (TracDx,z method)
+  TH1F        *fEmcClusETM2;      //!emcal track matched cluster energy (track->GetEMCALcluster() method)
+  TH1F        *fEmcClusNotExo;    //!cluster energy (exotics removed)
+  TH2F        *fEmcClusEClusCuts; //!cluster E spectrum per cluster cut (none, exotic, exo+cpv1, exo+cpv1+time, exo+cpv1+time+m02)
   TH2F        *fEmcClusEPhi;      //!cluster E spectrum vs. phi
   TH2F        *fEmcClusEPhiCut;   //!cluster E spectrum vs. phi in "triggered event"
   TH2F        *fEmcClusEEta;      //!cluster E spectrum vs. eta