]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
track iso fix
authorloizides <loizides@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 16 Sep 2011 19:50:11 +0000 (19:50 +0000)
committerloizides <loizides@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 16 Sep 2011 19:50:11 +0000 (19:50 +0000)
PWG4/UserTasks/EmcalTasks/AliAnalysisTaskEMCALPi0PbPb.cxx
PWG4/UserTasks/EmcalTasks/AliAnalysisTaskEMCALPi0PbPb.h

index 90913aa9dae6fec1baf6741fbf2d2e3a0a8180d3..f591be8dffff2ffd657318b1cb826dd30765ddef 100644 (file)
@@ -969,7 +969,8 @@ void AliAnalysisTaskEMCALPi0PbPb::CalcClusterProps()
     cl->fIdMax    = id;
     cl->fSM       = fGeom->GetSuperModuleNumber(id);
     cl->fEmax     = emax;
-    cl->fE2max    = GetSecondMaxCell(clus);
+    Short_t id2   = -1;
+    cl->fE2max    = GetSecondMaxCellEnergy(clus,id2);
     cl->fTmax     = cells->GetCellTime(id);
     if (clus->GetDistanceToBadChannel()<10000)
       cl->fDbc    = clus->GetDistanceToBadChannel();
@@ -1002,11 +1003,15 @@ void AliAnalysisTaskEMCALPi0PbPb::CalcClusterProps()
     cl->fTrIsoD3    = GetTrackIsolation(clusterVec.Eta(),clusterVec.Phi(),fIsoDist+0.1);
     cl->fTrIso1D3   = GetTrackIsolation(clusterVec.Eta(),clusterVec.Phi(),fIsoDist+0.1, 1);
     cl->fTrIso2D3   = GetTrackIsolation(clusterVec.Eta(),clusterVec.Phi(),fIsoDist+0.1, 2);
+    cl->fTrIsoD4    = GetTrackIsolation(clusterVec.Eta(),clusterVec.Phi(),fIsoDist+0.2);
+    cl->fTrIso1D4   = GetTrackIsolation(clusterVec.Eta(),clusterVec.Phi(),fIsoDist+0.2, 1);
+    cl->fTrIso2D4   = GetTrackIsolation(clusterVec.Eta(),clusterVec.Phi(),fIsoDist+0.2, 2);
     cl->fTrIsoStrip = GetTrackIsoStrip(clusterVec.Eta(), clusterVec.Phi());
     cl->fCeCore     = GetCellIsolation(clsVec.Eta(),clsVec.Phi(),0.05);
     cl->fCeIso      = GetCellIsolation(clsVec.Eta(),clsVec.Phi(),fIsoDist);
     cl->fCeIso1     = GetCellIsolation(clsVec.Eta(),clsVec.Phi(),0.10);
     cl->fCeIso3     = GetCellIsolation(clsVec.Eta(),clsVec.Phi(),0.30);
+    cl->fCeIso4     = GetCellIsolation(clsVec.Eta(),clsVec.Phi(),0.40);
     cl->fCeIso4x4   = GetCellIsoNxM(clsVec.Eta(),clsVec.Phi(), 4, 4);
     cl->fCeIso5x5   = GetCellIsoNxM(clsVec.Eta(),clsVec.Phi(), 5, 5);
     cl->fCeIso3x22  = GetCellIsoNxM(clsVec.Eta(),clsVec.Phi(), 3, 22);
@@ -2044,7 +2049,7 @@ Double_t AliAnalysisTaskEMCALPi0PbPb::GetMaxCellEnergy(const AliVCluster *cluste
 }
 
 //________________________________________________________________________
-Double_t AliAnalysisTaskEMCALPi0PbPb::GetSecondMaxCell(AliVCluster *clus) const
+Double_t AliAnalysisTaskEMCALPi0PbPb::GetSecondMaxCellEnergy(AliVCluster *clus, Short_t &id) const
 {
   // Get second maximum cell.
 
@@ -2065,8 +2070,10 @@ Double_t AliAnalysisTaskEMCALPi0PbPb::GetSecondMaxCell(AliVCluster *clus) const
   for(Int_t iCell=0;iCell<clus->GetNCells();iCell++){
     Int_t absId = clus->GetCellAbsId(iCell);
     cellen = cells->GetCellAmplitude(absId);
-    if(cellen < firstEmax && cellen > secondEmax)
+    if(cellen < firstEmax && cellen > secondEmax) {
       secondEmax = cellen;
+      id = absId;
+    }
   }
   return secondEmax;
 }
@@ -2239,7 +2246,7 @@ Double_t AliAnalysisTaskEMCALPi0PbPb::GetTrackIsolation(Double_t cEta, Double_t
   Double_t rad2 = radius*radius;
   Int_t ntrks = fSelPrimTracks->GetEntries();
   for(Int_t j = 0; j<ntrks; ++j) {
-    AliVTrack *track = static_cast<AliVTrack*>(fSelTracks->At(j));
+    AliVTrack *track = static_cast<AliVTrack*>(fSelPrimTracks->At(j));
     if (!track)
       continue;
     if (track->Pt()<pt)
@@ -2263,7 +2270,7 @@ Double_t AliAnalysisTaskEMCALPi0PbPb::GetTrackIsoStrip(Double_t cEta, Double_t c
   Double_t trkIsolation = 0;
   Int_t ntrks = fSelPrimTracks->GetEntries();
   for(Int_t j = 0; j<ntrks; ++j) {
-    AliVTrack *track = static_cast<AliVTrack*>(fSelTracks->At(j));
+    AliVTrack *track = static_cast<AliVTrack*>(fSelPrimTracks->At(j));
     if (!track)
       continue;
     if (track->Pt()<pt)
@@ -2284,10 +2291,7 @@ Bool_t AliAnalysisTaskEMCALPi0PbPb::IsShared(const AliVCluster *c) const
 {
   // Returns if cluster shared across super modules.
 
-  AliVCaloCells *cells = fEsdCells;
-  if (!cells)
-    cells = fAodCells;
-  if (!cells)
+  if (!c)
     return 0;
 
   Int_t n = -1;
index c5fcf080abdd4c4b137860615dcc920843e31a85..3362aea318755b7843862616bed861161ff624d3 100644 (file)
@@ -89,7 +89,7 @@ class AliAnalysisTaskEMCALPi0PbPb : public AliAnalysisTaskSE {
   Double_t     GetCellEnergy(const AliVCluster *c)    const;
   Double_t     GetMaxCellEnergy(const AliVCluster *c) const { Short_t id=-1; return GetMaxCellEnergy(c,id); }
   Double_t     GetMaxCellEnergy(const AliVCluster *c, Short_t &id)                                        const;
-  Double_t     GetSecondMaxCell(AliVCluster *clus)                                                        const;
+  Double_t     GetSecondMaxCellEnergy(AliVCluster *clus, Short_t &id)                                     const;
   Int_t        GetNCells(const AliVCluster *c, Double_t emin=0.)                                          const;
   Int_t        GetNCells(Int_t sm, Double_t emin=0.)                                                      const;
   void         GetSigma(const AliVCluster *c, Double_t &sigmaMax, Double_t &sigmaMin)                     const;
@@ -329,8 +329,9 @@ class AliStaCluster : public TObject
                       fE(0), fR(0), fEta(0), fPhi(0), fN(0), fN1(0), fN3(0), fIdMax(-1), fSM(-1), fEmax(0), fE2max(0), 
                       fTmax(0), fDbc(-1), fDisp(-1), fM20(-1), fM02(-1), fEcc(-1), fSig(-1), fSigEtaEta(-1), fSigPhiPhi(-1),
                       fIsTrackM(0), fTrDz(0), fTrDr(-1), fTrEp(0), fTrDedx(0), fTrIso(0), fTrIso1(0), fTrIso2(0),  
-                      fTrIsoD1(0), fTrIso1D1(0), fTrIso2D1(0), fTrIsoD3(0), fTrIso1D3(0), fTrIso2D3(0),fTrIsoStrip(0),
-                      fCeIso(0), fCeIso1(0), fCeIso3(0), fCeIso4x4(0), fCeIso5x5(0), fCeCore(0), fCeIso3x22(0), 
+                      fTrIsoD1(0), fTrIso1D1(0), fTrIso2D1(0), fTrIsoD3(0), fTrIso1D3(0), fTrIso2D3(0),
+                      fTrIsoD4(0), fTrIso1D4(0), fTrIso2D4(0), fTrIsoStrip(0), fCeIso(0), fCeIso1(0), 
+                      fCeIso3(0), fCeIso4(0), fCeIso4x4(0), fCeIso5x5(0), fCeCore(0), fCeIso3x22(0), 
                       fIsShared(0), fTrigId(-1), fTrigE(0), fMcLabel(-1), fEmbE(0) {;}
 
  public:
@@ -368,10 +369,14 @@ class AliStaCluster : public TObject
   Double32_t    fTrIsoD3;          //[0,0,16] track isolation, iso dist 0.3
   Double32_t    fTrIso1D3;         //[0,0,16] track isolation (pt>1GeV/c), iso dist 0.3
   Double32_t    fTrIso2D3;         //[0,0,16] track isolation (pt>2GeV/c), iso dist 0.3
+  Double32_t    fTrIsoD4;          //[0,0,16] track isolation, iso dist 0.4
+  Double32_t    fTrIso1D4;         //[0,0,16] track isolation (pt>1GeV/c), iso dist 0.4
+  Double32_t    fTrIso2D4;         //[0,0,16] track isolation (pt>2GeV/c), iso dist 0.4
   Double32_t    fTrIsoStrip;       //[0,0,16] track isolation strip, dEtaXdPhi=0.015x0.3
   Double32_t    fCeIso;            //[0,0,16] cell isolation in R=0.20
   Double32_t    fCeIso1;           //[0,0,16] cell isolation in R=0.10
   Double32_t    fCeIso3;           //[0,0,16] cell isolation in R=0.30
+  Double32_t    fCeIso4;           //[0,0,16] cell isolation in R=0.30
   Double32_t    fCeIso4x4;         //[0,0,16] cell isolation in 4x4 cells
   Double32_t    fCeIso5x5;         //[0,0,16] cell isolation in 5x5 cells
   Double32_t    fCeCore;           //[0,0,16] cell content in R=0.05 
@@ -382,7 +387,7 @@ class AliStaCluster : public TObject
   Short_t       fMcLabel;          //         index of closest MC particle
   Double32_t    fEmbE;             //[0,0,16] sum of energy of embedded (MC) cells in cluster
 
-  ClassDef(AliStaCluster,7) // Cluster class
+  ClassDef(AliStaCluster,8) // Cluster class
 };
 
 class AliStaTrigger : public TObject