]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
changes from saiola and soh
authormcosenti <mcosenti@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 30 Jul 2012 12:07:54 +0000 (12:07 +0000)
committermcosenti <mcosenti@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 30 Jul 2012 12:07:54 +0000 (12:07 +0000)
PWGGA/EMCALJetTasks/UserTasks/AliAnalysisTaskSOH.cxx
PWGGA/EMCALJetTasks/UserTasks/AliAnalysisTaskSOH.h
PWGGA/EMCALTasks/AliAnalysisTaskEmcal.cxx
PWGGA/EMCALTasks/AliAnalysisTaskEmcal.h
PWGGA/EMCALTasks/AliEmcalPicoTrackMaker.cxx
PWGGA/EMCALTasks/AliEmcalPicoTrackMaker.h

index 0ed5de34bd35eeff586f4610569559157a9afe47..24beeb613a456e40ba80d7a88b07813a4a81c53e 100644 (file)
@@ -8,6 +8,7 @@
 
 #include <TH1F.h>
 #include <TH2F.h>
+#include <TH3F.h>
 
 #include "AliAnalysisManager.h"
 #include "AliAnalysisTask.h"
@@ -37,10 +38,10 @@ AliAnalysisTaskSOH::AliAnalysisTaskSOH() :
   fClusterArray(0x0),
   fOutputList(0x0),        
   fHEventStat(0),      
-  fHTrkEffParGenPt(0), 
-  fHTrkEffDetGenPt(0), 
-  fHTrkEffDetRecPt(0),
-  fHTrkEffDetRecFakePt(0), 
+  fHTrkEffParGenPtEtaPhi(0), 
+  fHTrkEffDetGenPtEtaPhi(0), 
+  fHTrkEffDetRecPtEtaPhi(0),
+  fHTrkEffDetRecFakePtEtaPhi(0), 
   fHScaleFactor(0),
   fHScaleFactor100HC(0),
   fHEOverPVsPt(0x0),
@@ -83,10 +84,10 @@ AliAnalysisTaskSOH::AliAnalysisTaskSOH(const char *name) :
   fClusterArray(0x0),
   fOutputList(0x0),        
   fHEventStat(0),      
-  fHTrkEffParGenPt(0), 
-  fHTrkEffDetGenPt(0), 
-  fHTrkEffDetRecPt(0), 
-  fHTrkEffDetRecFakePt(0),
+  fHTrkEffParGenPtEtaPhi(0), 
+  fHTrkEffDetGenPtEtaPhi(0), 
+  fHTrkEffDetRecPtEtaPhi(0), 
+  fHTrkEffDetRecFakePtEtaPhi(0),
   fHScaleFactor(0),
   fHScaleFactor100HC(0),
   fHEOverPVsPt(0x0),
@@ -153,17 +154,29 @@ void AliAnalysisTaskSOH::UserCreateOutputObjects()
   fHEventStat->GetXaxis()->SetBinLabel(8,"cls/>3-truth");
   fOutputList->Add(fHEventStat);
 
-  fHTrkEffParGenPt = new TH1F("fHTrkEffParGenPt", "Particle level truth p_{T} distribution of generated primary charged pions;p_{T}^{gen} (GeV/c)",500,0.0,50.0);
-  fOutputList->Add(fHTrkEffParGenPt);
-
-  fHTrkEffDetGenPt = new TH1F("fHTrkEffDetGenPt", "Detector level truth p_{T} distribution of primary charged pions;p_{T}^{gen} (GeV/c)",500,0.0,50.0);
-  fOutputList->Add(fHTrkEffDetGenPt);
-
-  fHTrkEffDetRecPt = new TH1F("fHTrkEffDetRecPt", "Reconstructed track p_{T} distribution of primary charged pions;p_{T}^{rec} (GeV/c)",500,0.0,50.0);
-  fOutputList->Add(fHTrkEffDetRecPt);
-
-  fHTrkEffDetRecFakePt = new TH1F("fHTrkEffDetRecFakePt", "Reconstructed fake track p_{T} distribution of pions;p_{T}^{rec} (GeV/c)",500,0.0,50.0);
-  fOutputList->Add(fHTrkEffDetRecFakePt);
+  fHTrkEffParGenPtEtaPhi = new TH3F("fHTrkEffParGenPtEtaPhi","Particle level truth Phi-Eta-p_{T} distribution of primary charged pions", 500, 0, 50, 60, -1.5, 1.5, 128, 0, 6.4);
+  fHTrkEffParGenPtEtaPhi->GetXaxis()->SetTitle("p_{T}^{gen} (GeV/c)");
+  fHTrkEffParGenPtEtaPhi->GetYaxis()->SetTitle("#eta");
+  fHTrkEffParGenPtEtaPhi->GetZaxis()->SetTitle("#phi");
+  fOutputList->Add(fHTrkEffParGenPtEtaPhi);
+  
+  fHTrkEffDetGenPtEtaPhi = new TH3F("fHTrkEffDetGenPtEtaPhi","Detector level truth Phi-Eta-p_{T} distribution of primary charged pions", 500, 0, 50, 60, -1.5, 1.5, 128, 0, 6.4);
+  fHTrkEffDetGenPtEtaPhi->GetXaxis()->SetTitle("p_{T}^{gen} (GeV/c)");
+  fHTrkEffDetGenPtEtaPhi->GetYaxis()->SetTitle("#eta");
+  fHTrkEffDetGenPtEtaPhi->GetZaxis()->SetTitle("#phi");
+  fOutputList->Add(fHTrkEffDetGenPtEtaPhi);
+
+  fHTrkEffDetRecPtEtaPhi = new TH3F("fHTrkEffDetRecPtEtaPhi","Reconstructed track Phi-Eta-p_{T} distribution of primary charged pions", 500, 0, 50, 60, -1.5, 1.5, 128, 0, 6.4);
+  fHTrkEffDetRecPtEtaPhi->GetXaxis()->SetTitle("p_{T}^{gen} (GeV/c)");
+  fHTrkEffDetRecPtEtaPhi->GetYaxis()->SetTitle("#eta");
+  fHTrkEffDetRecPtEtaPhi->GetZaxis()->SetTitle("#phi");
+  fOutputList->Add(fHTrkEffDetRecPtEtaPhi);
+
+  fHTrkEffDetRecFakePtEtaPhi = new TH3F("fHTrkEffDetRecFakePtEtaPhi","Reconstructed fake track Phi-Eta-p_{T} distribution of pions", 500, 0, 50, 60, -1.5, 1.5, 128, 0, 6.4);
+  fHTrkEffDetRecFakePtEtaPhi->GetXaxis()->SetTitle("p_{T}^{gen} (GeV/c)");
+  fHTrkEffDetRecFakePtEtaPhi->GetYaxis()->SetTitle("#eta");
+  fHTrkEffDetRecFakePtEtaPhi->GetZaxis()->SetTitle("#phi");
+  fOutputList->Add(fHTrkEffDetRecFakePtEtaPhi);
 
   fHScaleFactor = new TH1F("fHScaleFactor", "Scale factor distribution without hadronic correction;Scale factor",100,0,10);
   fOutputList->Add(fHScaleFactor);
@@ -370,7 +383,7 @@ void  AliAnalysisTaskSOH::ProcessTrack()
     }
 
  // fake and secondary tracks
-    if(newTrack->GetLabel()<0 && newTrack->GetPID()==2) fHTrkEffDetRecFakePt->Fill(newTrack->Pt());
+    if(newTrack->GetLabel()<0 && newTrack->GetPID()==2) fHTrkEffDetRecFakePtEtaPhi->Fill(newTrack->Pt(), newTrack->Eta(), newTrack->Phi());
 
  // Track Indices
     fTrackIndices->AddAt(itr,nTracks);
@@ -512,7 +525,7 @@ void AliAnalysisTaskSOH::ProcessMc()
    //tracking effciency
     if(TMath::Abs(vParticle->Eta())<0.9)
     {
-      if(TMath::Abs(pdgCode==211)) fHTrkEffParGenPt->Fill(vParticle->Pt());
+      if(TMath::Abs(pdgCode==211)) fHTrkEffParGenPtEtaPhi->Fill(vParticle->Pt(), vParticle->Eta(), vParticle->Phi());
       for(Int_t j=0; j<fTrackIndices->GetSize(); j++)
       {
         AliESDtrack *esdtrack = fESD->GetTrack(fTrackIndices->At(j));
@@ -520,8 +533,8 @@ void AliAnalysisTaskSOH::ProcessMc()
         {
          if(TMath::Abs(pdgCode==211))
          {
-           fHTrkEffDetGenPt->Fill(vParticle->Pt());
-           fHTrkEffDetRecPt->Fill(esdtrack->Pt());
+           fHTrkEffDetGenPtEtaPhi->Fill(vParticle->Pt(), vParticle->Eta(), vParticle->Phi());
+           fHTrkEffDetRecPtEtaPhi->Fill(esdtrack->Pt(), esdtrack->Eta(), esdtrack->Phi());
          }
 
     //cluster E vs. truth photon energy
index e7378d655367b5f015a4f6f8ffea82f877094f2d..326064166cbc0b7d586ed60cfa993adc1e470ff3 100644 (file)
@@ -6,6 +6,7 @@
 class TList;
 class TH1F;
 class TH2F;
+class TH3F;
 class TArrayI;
 class AliESDEvent;
 class AliMCEvent;
@@ -50,10 +51,10 @@ class AliAnalysisTaskSOH : public AliAnalysisTaskSE {
   
   TList              *fOutputList;               //!output list
   TH1F               *fHEventStat;               //!statistics histo
-  TH1F               *fHTrkEffParGenPt;          //!mc truth pt spectrum
-  TH1F               *fHTrkEffDetGenPt;          //!mc detector level pt spectrum
-  TH1F               *fHTrkEffDetRecPt;          //!reconstructed detector level pt spectrum
-  TH1F               *fHTrkEffDetRecFakePt;      //!fake and secondary tracks pt spectrum
+  TH3F               *fHTrkEffParGenPtEtaPhi;    //!mc truth pt spectrum
+  TH3F               *fHTrkEffDetGenPtEtaPhi;    //!mc detector level pt spectrum
+  TH3F               *fHTrkEffDetRecPtEtaPhi;    //!reconstructed detector level pt spectrum
+  TH3F               *fHTrkEffDetRecFakePtEtaPhi;//!fake and secondary tracks pt spectrum
   TH1F               *fHScaleFactor;             //!scale factor spectrum
   TH1F               *fHScaleFactor100HC;        //!scale factor with 100% HC spectrum
   TH2F               *fHEOverPVsPt;              //!(cluster energy over reconstructed track p) vs. track pt
@@ -82,6 +83,6 @@ class AliAnalysisTaskSOH : public AliAnalysisTaskSE {
   AliAnalysisTaskSOH(const AliAnalysisTaskSOH&); // not implemented
   AliAnalysisTaskSOH& operator=(const AliAnalysisTaskSOH&); // not implemented
   
-  ClassDef(AliAnalysisTaskSOH, 5); // Analysis task Saehanseul Oh
+  ClassDef(AliAnalysisTaskSOH, 6); // Analysis task Saehanseul Oh
 };
 #endif
index 345be191d33486f1fb9332b7e735592b0348a275..ac8b7862068f3589d8986d7f610057a186efa466 100644 (file)
@@ -47,6 +47,10 @@ AliAnalysisTaskEmcal::AliAnalysisTaskEmcal() :
   fMaxBinPt(250),
   fClusPtCut(0.15),
   fTrackPtCut(0.15),
+  fMinTrackEta(-0.9),
+  fMaxTrackEta(0.9),
+  fMinTrackPhi(-10),
+  fMaxTrackPhi(10),
   fClusTimeCutLow(-10),
   fClusTimeCutUp(10),
   fTracks(0),
@@ -86,6 +90,10 @@ AliAnalysisTaskEmcal::AliAnalysisTaskEmcal(const char *name, Bool_t histo) :
   fMaxBinPt(250),
   fClusPtCut(0.15),
   fTrackPtCut(0.15),
+  fMinTrackEta(-0.9),
+  fMaxTrackEta(0.9),
+  fMinTrackPhi(-10),
+  fMaxTrackPhi(10),
   fClusTimeCutLow(-10),
   fClusTimeCutUp(10),
   fTracks(0),
@@ -204,6 +212,10 @@ Bool_t AliAnalysisTaskEmcal::AcceptTrack(AliVTrack *track, Bool_t acceptMC) cons
 
   if (track->Pt() < fTrackPtCut)
     return kFALSE;
+
+  if (track->Eta() < fMinTrackEta || track->Eta() > fMaxTrackEta || 
+      track->Phi() < fMinTrackPhi || track->Phi() > fMaxTrackPhi)
+    return kFALSE;
   
   return kTRUE;
 }
index 9327e846787b7d8b82caa7b63b23add015ebc3df..2d388bd67b4d08bef1c6200a12e720fdb922ef4e 100644 (file)
@@ -45,6 +45,8 @@ class AliAnalysisTaskEmcal : public AliAnalysisTaskSE {
   void                        SetOffTrigger(UInt_t t)                               { fOffTrigger    = t;                               }
   void                        SetPtCut(Double_t cut)                                { SetClusPtCut(cut); SetTrackPtCut(cut);            }
   void                        SetTrackPtCut(Double_t cut)                           { fTrackPtCut     = cut;          }
+  void                        SetTrackEtaLimits(Double_t min, Double_t max)         { fMaxTrackEta      = max ; fMinTrackEta      = min ; }
+  void                        SetTrackPhiLimits(Double_t min, Double_t max)         { fMaxTrackPhi      = max ; fMinTrackPhi      = min ; }
   void                        SetTracksName(const char *n)                          { fTracksName     = n;            }
   void                        SetTrigClass(const char *n)                           { fTrigClass = n;                 } 
   void                        SetVzRange(Double_t min, Double_t max)                { fMinVz = min; fMaxVz   = max;   }
@@ -78,6 +80,10 @@ class AliAnalysisTaskEmcal : public AliAnalysisTaskSE {
   Double_t                    fMaxBinPt;                   // max pt in histograms
   Double_t                    fClusPtCut;                  // cut on cluster pt
   Double_t                    fTrackPtCut;                 // cut on track pt
+  Double_t                    fMinTrackEta;                // cut on track eta
+  Double_t                    fMaxTrackEta;                // cut on track eta
+  Double_t                    fMinTrackPhi;                // cut on track phi
+  Double_t                    fMaxTrackPhi;                // cut on track phi
   Double_t                    fClusTimeCutLow;             // low time cut for clusters
   Double_t                    fClusTimeCutUp;              // up time cut for clusters
   TClonesArray               *fTracks;                     //!tracks
@@ -96,6 +102,6 @@ class AliAnalysisTaskEmcal : public AliAnalysisTaskSE {
   AliAnalysisTaskEmcal(const AliAnalysisTaskEmcal&);            // not implemented
   AliAnalysisTaskEmcal &operator=(const AliAnalysisTaskEmcal&); // not implemented
 
-  ClassDef(AliAnalysisTaskEmcal, 5) // EMCAL base analysis task
+  ClassDef(AliAnalysisTaskEmcal, 6) // EMCAL base analysis task
 };
 #endif
index 7177d53a29471dfd151d8c4b5600645b7ac3d1f6..b141614d5b68e81d47ecd85070550265e0b67e6b 100644 (file)
@@ -25,7 +25,12 @@ AliEmcalPicoTrackMaker::AliEmcalPicoTrackMaker() :
   fESDtrackCuts(0),
   fTracksOutName("PicoTracks"),
   fTracksInName("tracks"),
+  fMinTrackPt(0),
   fMaxTrackPt(1000),
+  fMinTrackEta(-0.9),
+  fMaxTrackEta(0.9),
+  fMinTrackPhi(-10),
+  fMaxTrackPhi(10),
   fTrackEfficiency(1),
   fTracksIn(0),
   fTracksOut(0)
@@ -42,7 +47,12 @@ AliEmcalPicoTrackMaker::AliEmcalPicoTrackMaker(const char *name) :
   fESDtrackCuts(0),
   fTracksOutName("PicoTracks"),
   fTracksInName("tracks"),
+  fMinTrackPt(0),
   fMaxTrackPt(1000),
+  fMinTrackEta(-0.9),
+  fMaxTrackEta(0.9),
+  fMinTrackPhi(-10),
+  fMaxTrackPhi(10),
   fTrackEfficiency(1),
   fTracksIn(0),
   fTracksOut(0)
@@ -115,7 +125,11 @@ void AliEmcalPicoTrackMaker::UserExec(Option_t *)
     if (!track)
       continue;
 
-    if (track->Pt() > fMaxTrackPt)
+    if (track->Pt() > fMaxTrackPt || track->Pt() < fMinTrackPt)
+      continue;
+
+    if (track->Eta() < fMinTrackEta || track->Eta() > fMaxTrackEta || 
+       track->Phi() < fMinTrackPhi || track->Phi() > fMaxTrackPhi)
       continue;
 
     Bool_t isEmc = kFALSE;
index 3a6120603e81a0eb4998395c29169268bfc3e20d..5c525998f1830ad6385190dee2e421345bd49227 100644 (file)
@@ -19,19 +19,26 @@ class AliEmcalPicoTrackMaker : public AliAnalysisTaskSE {
   void UserCreateOutputObjects();
   void UserExec(Option_t *option);
 
-  void SetAODfilterBits(Int_t b0 = 0, Int_t b1 = 0)  { fAODfilterBits[0] = b0; fAODfilterBits[1] = b1; }
-  void SetESDtrackCuts(AliESDtrackCuts *cuts)        { fESDtrackCuts     = cuts; }
-  void SetTracksInName(const char *name)             { fTracksInName     = name; }
-  void SetTracksOutName(const char *name)            { fTracksOutName    = name; }
-  void SetMaxTrackPt(Float_t pt)                     { fMaxTrackPt       = pt  ; }
-  void SetTrackEfficiency(Double_t eff = 0.95)       { fTrackEfficiency = eff  ; }
+  void SetAODfilterBits(Int_t b0 = 0, Int_t b1 = 0)      { fAODfilterBits[0] = b0  ; fAODfilterBits[1] = b1  ; }
+  void SetESDtrackCuts(AliESDtrackCuts *cuts)            { fESDtrackCuts     = cuts; }
+  void SetTracksInName(const char *name)                 { fTracksInName     = name; }
+  void SetTracksOutName(const char *name)                { fTracksOutName    = name; }
+  void SetTrackPtLimits(Double_t min, Double_t max)      { fMaxTrackPt       = max ; fMinTrackPt       = min ; }
+  void SetTrackEtaLimits(Double_t min, Double_t max)     { fMaxTrackEta      = max ; fMinTrackEta      = min ; }
+  void SetTrackPhiLimits(Double_t min, Double_t max)     { fMaxTrackPhi      = max ; fMinTrackPhi      = min ; }
+  void SetTrackEfficiency(Double_t eff = 0.95)           { fTrackEfficiency = eff  ; }
 
  protected:
   Int_t              fAODfilterBits[2];     // AOD track filter bit map
   AliESDtrackCuts   *fESDtrackCuts;         // ESD track cuts
   TString            fTracksOutName;        // name of output track array
   TString            fTracksInName;         // name of input track array
-  Float_t            fMaxTrackPt;           // max pt of tracks
+  Double_t           fMinTrackPt;           // mix pt of tracks
+  Double_t           fMaxTrackPt;           // max pt of tracks
+  Double_t           fMinTrackEta;          // cut on track eta
+  Double_t           fMaxTrackEta;          // cut on track eta
+  Double_t           fMinTrackPhi;          // cut on track phi
+  Double_t           fMaxTrackPhi;          // cut on track phi
   Double_t           fTrackEfficiency;      // track efficiency
   TClonesArray      *fTracksIn;             //!track array in
   TClonesArray      *fTracksOut;            //!track array out
@@ -40,6 +47,6 @@ class AliEmcalPicoTrackMaker : public AliAnalysisTaskSE {
   AliEmcalPicoTrackMaker(const AliEmcalPicoTrackMaker&);            // not implemented
   AliEmcalPicoTrackMaker &operator=(const AliEmcalPicoTrackMaker&); // not implemented
 
-  ClassDef(AliEmcalPicoTrackMaker, 2); // Task to make PicoTracks in AOD/ESD events
+  ClassDef(AliEmcalPicoTrackMaker, 3); // Task to make PicoTracks in AOD/ESD events
 };
 #endif