Added fAreaE, AreaE, SetAreaE, SubtractRhoVect.
authorvkucera <vit.kucera@cern.ch>
Wed, 29 Oct 2014 23:55:39 +0000 (00:55 +0100)
committermverweij <marta.verweij@cern.ch>
Mon, 3 Nov 2014 14:10:20 +0000 (15:10 +0100)
PWGJE/EMCALJetTasks/AliEmcalJet.cxx
PWGJE/EMCALJetTasks/AliEmcalJet.h

index e68a91e..e9aa43d 100644 (file)
@@ -21,6 +21,7 @@ AliEmcalJet::AliEmcalJet() :
   fArea(0),
   fAreaEta(0),
   fAreaPhi(0),
+  fAreaE(0),
   fAreaEmc(-1),
   fAxisInEmcal(0),
   fFlavourTagging(0),
@@ -92,6 +93,7 @@ AliEmcalJet::AliEmcalJet(Double_t px, Double_t py, Double_t pz) :
   fArea(0),
   fAreaEta(0),
   fAreaPhi(0),
+  fAreaE(0),
   fAreaEmc(-1),
   fAxisInEmcal(0),
   fFlavourTagging(0),
@@ -168,6 +170,7 @@ AliEmcalJet::AliEmcalJet(Double_t pt, Double_t eta, Double_t phi, Double_t m) :
   fArea(0),
   fAreaEta(0),
   fAreaPhi(0),
+  fAreaE(0),
   fAreaEmc(-1),
   fAxisInEmcal(0),
   fFlavourTagging(0),
@@ -243,6 +246,7 @@ AliEmcalJet::AliEmcalJet(const AliEmcalJet& jet) :
   fArea(jet.fArea),
   fAreaEta(jet.fAreaEta),
   fAreaPhi(jet.fAreaPhi),
+  fAreaE(jet.fAreaE),
   fAreaEmc(jet.fAreaEmc),
   fAxisInEmcal(jet.fAxisInEmcal),
   fFlavourTagging(jet.fFlavourTagging),
@@ -318,6 +322,7 @@ AliEmcalJet& AliEmcalJet::operator=(const AliEmcalJet& jet)
     fArea               = jet.fArea;
     fAreaEta            = jet.fAreaEta;
     fAreaPhi            = jet.fAreaPhi;
+    fAreaE              = jet.fAreaE;
     fAreaEmc            = jet.fAreaEmc;
     fAxisInEmcal        = jet.fAxisInEmcal;
     fFlavourTagging     = jet.fFlavourTagging;
@@ -394,7 +399,7 @@ Int_t AliEmcalJet::Compare(const TObject* obj) const
 //__________________________________________________________________________________________________
 void AliEmcalJet::GetMom(TLorentzVector& vec) const
 {
-  // Return momentum as four vector.
+  // Return momentum as four-vector.
 
   vec.SetPtEtaPhiE(fPt, fEta, fPhi, E());
 }
@@ -419,6 +424,20 @@ Double_t AliEmcalJet::PtSubVect(Double_t rho) const
 }
 
 //__________________________________________________________________________________________________
+TLorentzVector AliEmcalJet::SubtractRhoVect(Double_t rho) const
+{
+  // Return four-momentum after vectorial subtraction
+
+  TLorentzVector vecCorr;
+  GetMom(vecCorr);
+  TLorentzVector vecBg;
+  vecBg.SetPtEtaPhiE(fArea, fAreaEta, fAreaPhi, fAreaE);
+  vecBg *= rho;
+  vecCorr -= vecBg;
+  return vecCorr;
+}
+
+//__________________________________________________________________________________________________
 void AliEmcalJet::SortConstituents()
 {
   // Sort constituent by index (increasing).
@@ -432,8 +451,8 @@ Double_t AliEmcalJet::DeltaR(const AliVParticle* part) const
 {
   // Helper function to calculate the distance between two jets or a jet and a particle
 
-  Double_t dPhi = this->Phi() - part->Phi();
-  Double_t dEta = this->Eta() - part->Eta();
+  Double_t dPhi = Phi() - part->Phi();
+  Double_t dEta = Eta() - part->Eta();
   dPhi = TVector2::Phi_mpi_pi(dPhi);
   return TMath::Sqrt(dPhi * dPhi + dEta * dEta);
 }
index d913636..cee1c34 100644 (file)
@@ -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;
@@ -92,6 +93,7 @@ class AliEmcalJet : public AliVParticle
   Double_t          PtSubVect()                  const { return fPtSubVect;                }
   Double_t          PtSub(Double_t rho)          const { return fPt - fArea*rho;           }
   Double_t          PtSubVect(Double_t rho)      const;
+  TLorentzVector    SubtractRhoVect(Double_t rho) const;
   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;
@@ -112,6 +114,7 @@ class AliEmcalJet : public AliVParticle
   void              SetArea(Double_t a)                { fArea    = a;                     }
   void              SetAreaEta(Double_t a)             { fAreaEta = 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;        }
@@ -248,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