fJetMaxPhi(10),
fMaxClusterPt(1000),
fMaxTrackPt(100),
+ fZLeadingEmcCut(10.),
+ fZLeadingChCut(10.),
fLeadingHadronType(0),
fNLeadingJets(1),
fJetBitMap(0),
fJetMaxPhi(10),
fMaxClusterPt(1000),
fMaxTrackPt(100),
+ fZLeadingEmcCut(10.),
+ fZLeadingChCut(10.),
fLeadingHadronType(0),
fNLeadingJets(1),
fJetBitMap(0),
if (jet->AreaEmc()<fAreaEmcCut)
return kFALSE;
+ if( GetZLeadingCharged(jet)>fZLeadingChCut || GetZLeadingEmc(jet)>fZLeadingEmcCut)
+ return kFALSE;
+
if (!AcceptBiasJet(jet))
return kFALSE;
if (jet->MaxTrackPt() > fMaxTrackPt || jet->MaxClusterPt() > fMaxClusterPt)
return kFALSE;
+
Double_t jetPhi = jet->Phi();
Double_t jetEta = jet->Eta();
mom.SetPtEtaPhiM(maxClusterPt,maxClusterEta,maxClusterPhi,0.139);
}
+//________________________________________________________________________
+Double_t AliJetContainer::GetZLeadingEmc(AliEmcalJet *jet) const
+{
+
+ if (fClusterContainer && fClusterContainer->GetArray() ) {
+ TLorentzVector mom;
+
+ AliVCluster *cluster = jet->GetLeadingCluster(fClusterContainer->GetArray());
+ if (cluster) {
+ cluster->GetMomentum(mom, const_cast<Double_t*>(fVertex));
+
+ return GetZ(jet,mom);
+ }
+ else
+ return -1;
+ }
+ else
+ return -1;
+}
+
+//________________________________________________________________________
+Double_t AliJetContainer::GetZLeadingCharged(AliEmcalJet *jet) const
+{
+
+ if (fParticleContainer && fParticleContainer->GetArray() ) {
+ TLorentzVector mom;
+
+ AliVParticle *track = jet->GetLeadingTrack(fParticleContainer->GetArray());
+ if (track) {
+ mom.SetPtEtaPhiM(track->Pt(),track->Eta(),track->Phi(),0.139);
+
+ return GetZ(jet,mom);
+ }
+ else
+ return -1;
+ }
+ else
+ return -1;
+}
+
+//________________________________________________________________________
+Double_t AliJetContainer::GetZ(AliEmcalJet *jet, TLorentzVector mom) const
+{
+
+ Double_t pJetSq = jet->Px()*jet->Px() + jet->Py()*jet->Py() + jet->Pz()*jet->Pz();
+
+ if(pJetSq>0.)
+ return (mom.Px()*jet->Px() + mom.Py()*jet->Py() + mom.Pz()*jet->Pz())/pJetSq;
+ else {
+ AliWarning(Form("%s: strange, pjet*pjet seems to be zero pJetSq: %f",GetName(), pJetSq));
+ return -1;
+ }
+
+}
+
//________________________________________________________________________
void AliJetContainer::SetJetEtaPhiEMCAL()
{
fMaxClusterPt = 1000;
fMaxTrackPt = 100;
fLeadingHadronType = 0;
-
+ fZLeadingEmcCut = 10.;
+ fZLeadingChCut = 10.;
}
//________________________________________________________________________
void SetJetPhiLimits(Float_t min, Float_t max) { fJetMinPhi = min, fJetMaxPhi = max ; }
void SetJetAreaCut(Float_t cut) { fJetAreaCut = cut ; }
void SetPercAreaCut(Float_t p) { if(fJetRadius==0.) AliWarning("JetRadius not set. Area cut will be 0"); fJetAreaCut = p*TMath::Pi()*fJetRadius*fJetRadius; }
+ void SetZLeadingCut(Float_t zemc, Float_t zch) { fZLeadingEmcCut = zemc; fZLeadingChCut = zch ; }
void SetAreaEmcCut(Double_t a = 0.99) { fAreaEmcCut = a ; }
void SetJetPtCut(Float_t cut) { fJetPtCut = cut ; }
Int_t GetNJets() const {return GetNEntries();}
Double_t GetLeadingHadronPt(AliEmcalJet* jet) const;
void GetLeadingHadronMomentum(TLorentzVector &mom, AliEmcalJet* jet) const;
+ Double_t GetZ(AliEmcalJet *jet, TLorentzVector mom) const;
+ Double_t GetZLeadingEmc(AliEmcalJet *jet) const;
+ Double_t GetZLeadingCharged(AliEmcalJet *jet) const;
AliRhoParameter *GetRhoParameter() {return fRho;}
Double_t GetRhoVal() const { if (fRho) return fRho->GetVal(); else return 0;}
const TString& GetRhoName() const {return fRhoName;}
Float_t fJetMaxPhi; // maximum phi jet acceptance
Float_t fMaxClusterPt; // maximum cluster constituent pt to accept the jet
Float_t fMaxTrackPt; // maximum track constituent pt to accept the jet
+ Float_t fZLeadingEmcCut; // maximum z,leading neutral
+ Float_t fZLeadingChCut; // maximum z,leading charged
Int_t fLeadingHadronType; // 0 = charged, 1 = neutral, 2 = both
Int_t fNLeadingJets; // how many jets are to be considered the leading jet(s)
UInt_t fJetBitMap; // bit map of accepted jets
AliJetContainer(const AliJetContainer& obj); // copy constructor
AliJetContainer& operator=(const AliJetContainer& other); // assignment
- ClassDef(AliJetContainer,3);
+ ClassDef(AliJetContainer,4);
};