virtual Bool_t XvYvZv(Double_t x[3]) const { x[0] = Xv(); x[1] = Yv(); x[2] = Zv(); return kTRUE; }
virtual Bool_t IsTriggeredEMCAL(){return (fTrigger&kEMCALTriggered)==kEMCALTriggered;}
virtual Bool_t IsTriggeredTRD(){return (fTrigger&kTRDTriggered)==kTRDTriggered;}
- virtual UChar_t Trigger(){return fTrigger;}
-
+ virtual UInt_t Trigger(){return fTrigger;}
+
virtual void AddTrack(TObject *tr);
TObject* GetTrack(Int_t i) {return fRefTracks->At(i);}
+ virtual void SetPtSubtracted(Double_t ptCh, Double_t ptN){
+ fPtSubtracted[0] = ptCh;
+ fPtSubtracted[1] = ptN;
+ }
+ virtual Double_t GetPtSubtracted(Int_t i){return (i<2?fPtSubtracted[i]:0);}
virtual void SetBgEnergy(Double_t bgEnCh, Double_t bgEnNe)
{fBackgEnergy[0] = bgEnCh; fBackgEnergy[1] = bgEnNe;}
virtual void SetEffArea(Double_t effACh, Double_t effANe, Double_t effAErrCh = 0, Double_t effAErrNe = 0)
fEffectiveAreaError[1] = effAErrNe;
}
virtual void SetPxPyPzE(Double_t px, Double_t py, Double_t pz, Double_t e);
- virtual void SetTrigger(UChar_t f){fTrigger |= f;}
- virtual void ResetTrigger(UChar_t f){fTrigger &= ~f;}
+ virtual void SetPtEtaPhiM(Double_t pt, Double_t eta, Double_t phi, Double_t m);
+ virtual void SetTrigger(UInt_t f){fTrigger |= f;}
+ virtual void ResetTrigger(UInt_t f){fTrigger &= ~f;}
virtual void SetNEF(Double_t nef) {fNeutralFraction=nef;}
virtual Double_t GetNEF() const {return fNeutralFraction;}
virtual Double_t ErrorEffectiveAreaCharged() const { return fEffectiveAreaError[0];}
virtual Double_t ErrorEffectiveAreaNeutral() const { return fEffectiveAreaError[1];}
- virtual Double_t DeltaR(const AliVParticle* part);
-
+ virtual Double_t DeltaR(const AliVParticle* part) const;
TLorentzVector* MomentumVector() const {return fMomentum;}
- virtual void Print(Option_t* /*option*/) const;
+
+ virtual void SetPtLeading(Double_t pt) {fPtLeadingConstituent=pt;}
+ virtual Double_t GetPtLeading() const { return fPtLeadingConstituent;}
+
+ virtual void Print(Option_t* option) const;
-// Dummy
+ // Dummy
virtual Short_t Charge() const { return 0;}
virtual const Double_t* PID() const { return NULL;}
virtual Int_t GetLabel() const { return -1;}
- // Dummy
+ // Dummy
virtual Int_t PdgCode() const {return 0;}
-//
+ //
// first only one bit for EMCAL and TRD, leave space for more
// trigger types and/or other detectors
+ // use some of the bits to flag jets with high pT track
+ // and good high pT cut
enum {kEMCALTriggered = 1<<0,
- kTRDTriggered = 4<<0};
+ kTRDTriggered = 1<<2,
+ kHighTrackPtTriggered = 1<<7,
+ kHighTrackPtBest = 1<<8
+ };
private:
Double32_t fEffectiveArea[2]; // Effective jet area used for background subtraction
Double32_t fEffectiveAreaError[2]; //[0,1,10] relative error of jet areas, 10 bit precision
Double32_t fNeutralFraction; //[0,1,12] Neutral fraction between 0 and 1 12 bit precision;
- UChar_t fTrigger; // Bit mask to flag jets triggered by a certain detector
+ Double32_t fPtSubtracted[2]; //[0,0,12] pT after subtraction can be negative four momentum close to 0 in this case, 12 bit precision
+ Double32_t fPtLeadingConstituent; //[0,0,12] pT of leading constituent
+ UInt_t fTrigger; // Bit mask to flag jets triggered by a certain detector
TLorentzVector* fMomentum; // Jet 4-momentum vector
TLorentzVector* fVectorAreaCharged; // jet area four momentum
TRefArray* fRefTracks; // array of references to the tracks belonging to the jet
- ClassDef(AliAODJet,8);
+
+ ClassDef(AliAODJet,14);
};