added emc particles and pt sub
authorloizides <loizides@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 18 Jun 2012 14:53:37 +0000 (14:53 +0000)
committerloizides <loizides@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 18 Jun 2012 14:53:37 +0000 (14:53 +0000)
PWGGA/EMCALJetTasks/AliEmcalJet.cxx
PWGGA/EMCALJetTasks/AliEmcalJet.h

index 941796e..24575da 100644 (file)
@@ -8,6 +8,9 @@
 
 ClassImp(AliEmcalJet)
 
+  Double32_t        fPtEmc;               //[0,0,12]   pt in EMCAL acceptance
+  Int_t             fNEmc;                //           number of constituents in EMCAL acceptance
+
 //__________________________________________________________________________________________________
 AliEmcalJet::AliEmcalJet() : 
   AliVParticle(), 
@@ -24,9 +27,12 @@ AliEmcalJet::AliEmcalJet() :
   fMCPt(0),
   fNn(0), 
   fNch(0),        
+  fPtEmc(0),
+  fNEmc(0),
   fClusterIDs(),
   fTrackIDs(),
-  fMatched(2) 
+  fMatched(2),
+  fPtSub(0)
 {
   // Constructor.
 
@@ -52,9 +58,12 @@ AliEmcalJet::AliEmcalJet(Double_t px, Double_t py, Double_t pz) :
   fMCPt(0),
   fNn(0),
   fNch(0),
+  fPtEmc(0),
+  fNEmc(0),
   fClusterIDs(), 
   fTrackIDs(),
-  fMatched(2)
+  fMatched(2),
+  fPtSub(0)
 {    
   // Constructor.
 
@@ -86,9 +95,12 @@ AliEmcalJet::AliEmcalJet(Double_t pt, Double_t eta, Double_t phi, Double_t m) :
   fMCPt(0),
   fNn(0),
   fNch(0), 
+  fPtEmc(0),
+  fNEmc(0),
   fClusterIDs(), 
   fTrackIDs(),
-  fMatched(2)
+  fMatched(2),
+  fPtSub(0)
 {
   // Constructor.
 
@@ -117,9 +129,12 @@ AliEmcalJet::AliEmcalJet(const AliEmcalJet &jet) :
   fMCPt(jet.fMCPt),
   fNn(jet.fNn),
   fNch(jet.fNch),
+  fPtEmc(jet.fPtEmc),
+  fNEmc(jet.fNEmc),
   fClusterIDs(jet.fClusterIDs), 
   fTrackIDs(jet.fTrackIDs),
-  fMatched(jet.fMatched) 
+  fMatched(jet.fMatched),
+  fPtSub(jet.fPtSub)
 {
   // Copy constructor.
 
@@ -149,6 +164,8 @@ AliEmcalJet &AliEmcalJet::operator=(const AliEmcalJet &jet)
     fMCPt               = jet.fMCPt;
     fNn                 = jet.fNn;
     fNch                = jet.fNch;
+    fPtEmc              = jet.fPtEmc;
+    fNEmc               = jet.fNEmc;
     fClusterIDs         = jet.fClusterIDs;
     fTrackIDs           = jet.fTrackIDs;
     fClosestJets[0]     = jet.fClosestJets[0]; 
@@ -156,6 +173,7 @@ AliEmcalJet &AliEmcalJet::operator=(const AliEmcalJet &jet)
     fClosestJetsDist[0] = jet.fClosestJetsDist[0];  
     fClosestJetsDist[1] = jet.fClosestJetsDist[1]; 
     fMatched            = jet.fMatched;
+    fPtSub              = jet.fPtSub;
   }
 
   return *this;
index 63aac29..b0657c6 100644 (file)
@@ -49,10 +49,10 @@ class AliEmcalJet : public AliVParticle
   Bool_t            AxisInEmcal()                const { return fAxisInEmcal;              }
   UShort_t          GetNumberOfClusters()        const { return fClusterIDs.GetSize();     }
   Short_t           ClusterAt(Int_t idx)         const { return fClusterIDs.At(idx);       }
-  AliVCluster      *ClusterAt(Int_t idx, TClonesArray *clusarray)  const { if (!clusarray) return 0; return dynamic_cast<AliVCluster*>(clusarray->At(ClusterAt(idx))); }
+  AliVCluster      *ClusterAt(Int_t idx, TClonesArray *ca)  const { if (!ca) return 0; return dynamic_cast<AliVCluster*>(ca->At(ClusterAt(idx))); }
   UShort_t          GetNumberOfTracks()          const { return fTrackIDs.GetSize();       }
   Short_t           TrackAt(Int_t idx)           const { return fTrackIDs.At(idx);         }
-  AliVParticle     *TrackAt(Int_t idx, TClonesArray *trackarray)   const { if (!trackarray) return 0; return dynamic_cast<AliVParticle*>(trackarray->At(TrackAt(idx))); } 
+  AliVParticle     *TrackAt(Int_t idx, TClonesArray *ta)   const { if (!ta) return 0; return dynamic_cast<AliVParticle*>(ta->At(TrackAt(idx))); } 
   Double_t          FracEmcalArea()              const { return fAreaEmc/fArea;            }
   Bool_t            IsInsideEmcal()              const { return (fAreaEmc/fArea>0.999);    }
   Bool_t            IsInEmcal()                  const { return (fAreaEmc>0);              }
@@ -62,6 +62,7 @@ class AliEmcalJet : public AliVParticle
   UShort_t          Nn()                         const { return fNn;                       }
   UShort_t          Nch()                        const { return fNch;                      }
   UShort_t          N()                          const { return Nch()+Nn();                }
+  Int_t             NEmc()                       const { return fNEmc;                     }
   Double_t          MCPt()                       const { return fMCPt;                     }
   Bool_t            IsMC()                       const { return (Bool_t)(MCPt() > 0);      }
   AliEmcalJet*      ClosestJet()                 const { return fClosestJets[0];           }
@@ -72,6 +73,9 @@ class AliEmcalJet : public AliVParticle
   Double_t          MaxClusterPt()               const { return MaxNeutralPt();            }
   Double_t          MaxTrackPt()                 const { return MaxChargedPt();            }
   Double_t          MaxPartPt()                  const { return fMaxCPt < fMaxNPt ? fMaxNPt : fMaxCPt;     }
+  Double_t          PtEmc()                      const { return fPtEmc;                    }
+  Double_t          PtSub()                      const { return fPtSub;                    }
+  Double_t          PtSub(Double_t rho)          const { return fPt - fArea*rho;           }
 
   void              AddClusterAt(Int_t clus, Int_t idx){ fClusterIDs.AddAt(clus, idx);     }
   void              AddTrackAt(Int_t track, Int_t idx) { fTrackIDs.AddAt(track, idx);      }
@@ -93,6 +97,9 @@ class AliEmcalJet : public AliVParticle
   void              SetSecondClosestJet(AliEmcalJet *j, Double_t d) { fClosestJets[1] = j; fClosestJetsDist[1] = d; }
   void              SetMatchedToClosest()                           { fMatched = 0;        }
   void              SetMatchedToSecondClosest()                     { fMatched = 1;        }
+  void              SetNEmc(Int_t n)                                { fNEmc    = n;        }
+  void              SetPtEmc(Double_t pt)                           { fPtEmc   = pt;       }
+  void              SetPtSub(Double_t ps)                           { fPtSub   = ps;       } 
 
  protected:
   Double32_t        fPt;                  //[0,0,12]   pt 
@@ -108,12 +115,15 @@ class AliEmcalJet : public AliVParticle
   Double32_t        fMCPt;                //           pt from MC particles contributing to the jet
   Int_t             fNn;                  //           number of neutral constituents
   Int_t             fNch;                 //           number of charged constituents
+  Double32_t        fPtEmc;               //[0,0,12]   pt in EMCAL acceptance
+  Int_t             fNEmc;                //           number of constituents in EMCAL acceptance
   TArrayS           fClusterIDs;          //           array of cluster constituents  
   TArrayS           fTrackIDs;            //           array of track constituents   
   AliEmcalJet      *fClosestJets[2];      //!          if this is MC it contains the two closest detector level jets in order of distance and viceversa
   Double32_t        fClosestJetsDist[2];  //!          distance to closest jets (see above)
   UShort_t          fMatched;             //!          0,1 if it is matched with one of the closest jets; 2 if it is not matched
+  Double_t          fPtSub;               //!          background subtracted pt (not stored set from outside) 
 
-  ClassDef(AliEmcalJet,6) // Emcal jet class in cylindrical coordinates
+  ClassDef(AliEmcalJet,7) // Emcal jet class in cylindrical coordinates
 };
 #endif