]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGJE/EMCALJetTasks/AliEmcalJet.h
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / AliEmcalJet.h
index d5213c34ca5c79bbbdc5277490c769931853fc19..5e052b8c756d5a37c8ad14358cb5e511fc640627 100644 (file)
@@ -47,10 +47,10 @@ class AliEmcalJet : public AliVParticle
   Double_t          OneOverPt()                  const { return 1./fPt;  }
   Double_t          Phi()                        const { return fPhi;    }
   Double_t          Theta()                      const { return 2*TMath::ATan(TMath::Exp(-fEta));         }
-  Double_t          E()                          const { Double_t p=P(); return TMath::Sqrt(M()*M()+p*p); }
+  Double_t          E()                          const { Double_t p=P(); return TMath::Sqrt(fM*fM+p*p); }
   Double_t          M()                          const { return fM; }
   Double_t          Eta()                        const { return fEta;    }
-  Double_t          Y()                          const { return 0.5*TMath::Log((E()+Pz())/(E()-Pz()));    }
+  Double_t          Y()                          const { Double_t e = E(); Double_t pz = Pz(); return 0.5*TMath::Log((e+pz)/(e-pz));    }
   Short_t           Charge()                     const { return 0;       }
   Int_t             GetLabel()                   const { return fLabel;  }
   Int_t             PdgCode()                    const { return 0;       }
@@ -62,6 +62,7 @@ class AliEmcalJet : public AliVParticle
   Double_t          AreaPt()                     const { return fArea;                     }
   Double_t          AreaEta()                    const { return fAreaEta;                  }
   Double_t          AreaPhi()                    const { return fAreaPhi;                  }
+  Double_t          AreaE()                      const { return fAreaE;                    }
   Double_t          AreaEmc()                    const { return fAreaEmc;                  }
   Bool_t            AxisInEmcal()                const { return fAxisInEmcal;              }
   Int_t             Compare(const TObject* obj)  const;
@@ -89,8 +90,10 @@ class AliEmcalJet : public AliVParticle
   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;           }
-  Double_t          PtSubVect(Double_t rho)      const;
+  Double_t          PtSubVect()                  const { return fPtSubVect;                }
+  Double_t          PtSub(Double_t rho, Bool_t save = kFALSE);
+  Double_t          PtSubVect(Double_t rho, Bool_t save = kFALSE);
+  TLorentzVector    SubtractRhoVect(Double_t rho, Bool_t save = kFALSE);
   Short_t           TrackAt(Int_t idx)           const { return fTrackIDs.At(idx);         }
   AliVParticle     *TrackAt(Int_t idx, TClonesArray *ta)  const { if (!ta) return 0; return dynamic_cast<AliVParticle*>(ta->At(TrackAt(idx))); }
   AliVParticle     *GetLeadingTrack(TClonesArray *tracks) const;
@@ -110,7 +113,8 @@ class AliEmcalJet : public AliVParticle
   void              SetLabel(Int_t l)                  { fLabel = l;                       }
   void              SetArea(Double_t a)                { fArea    = a;                     }
   void              SetAreaEta(Double_t a)             { fAreaEta = a;                     }
-  void              SetAreaPhi(Double_t a)             { fAreaPhi = a; }
+  void              SetAreaPhi(Double_t a)             { fAreaPhi = TVector2::Phi_0_2pi(a); }
+  void              SetAreaE(Double_t a)               { fAreaE = a;                       }
   void              SetAreaEmc(Double_t a)             { fAreaEmc = a;                     }
   void              SetAxisInEmcal(Bool_t b)           { fAxisInEmcal = b;                 }
   void              SetFlavour(Int_t flavour)          { fFlavourTagging = flavour;        }
@@ -127,7 +131,7 @@ class AliEmcalJet : public AliVParticle
   void              SetNEmc(Int_t n)                   { fNEmc           = n;              }
   void              SetPtEmc(Double_t pt)              { fPtEmc          = pt;             }
   void              SetPtSub(Double_t ps)              { fPtSub          = ps;             }
-  void              SetPtSubVect(Double_t ps)          { fPtVectSub      = ps;             }
+  void              SetPtSubVect(Double_t ps)          { fPtSubVect      = ps;             }
   Bool_t            TestFlavourTag(Int_t tag)    const { return (Bool_t)((tag & fFlavourTagging) !=0); }
 
   // Trigger
@@ -247,9 +251,10 @@ class AliEmcalJet : public AliVParticle
   Double32_t        fPhi;                 //[0,6.3,12] phi
   Double32_t        fM;                   //[0,0,8]    mass
   Double32_t        fNEF;                 //[0,1,8]    neutral energy fraction
-  Double32_t        fArea;                //[0,0,12]   area
+  Double32_t        fArea;                //[0,0,12]   area (transverse)
   Double32_t        fAreaEta;             //[0,0,12]   area eta
   Double32_t        fAreaPhi;             //[0,0,12]   area phi
+  Double32_t        fAreaE;               //[0,0,12]   temporal area component
   Double32_t        fAreaEmc;             //[0,0,12]   area on EMCAL surface (determined from ghosts)
   Bool_t            fAxisInEmcal;         //           =true if jet axis inside EMCAL acceptance
   Int_t             fFlavourTagging;      // tag jet with a falvour, bit 0 = no tag; bit 1= Dstar; bit 2 = D0
@@ -269,7 +274,7 @@ class AliEmcalJet : public AliVParticle
   AliEmcalJet      *fTaggedJet;           //!          jet tagged to this jet
   Int_t             fTagStatus;           //!          status of tagging -1: NA 0: not tagged 1: tagged
   Double_t          fPtSub;               //!          background subtracted pt (not stored set from outside)
-  Double_t          fPtVectSub;           //!          background vector subtracted pt (not stored set from outside)
+  Double_t          fPtSubVect;           //!          background vector subtracted pt (not stored set from outside)
   UInt_t            fTriggers;            //!          triggers that the jet might have fired (AliVEvent::EOfflineTriggerTypes)
 
   Double_t          fJetShapeMassFirstDer;         //!   result from shape derivatives for jet mass: 1st derivative