1 #ifndef AliAnalysisTaskJetMatching_H
2 #define AliAnalysisTaskJetMatching_H
9 #include <TClonesArray.h>
39 TH3F*
BookTH3F(
const char* name,
const char* x,
const char* y,
const char* z,
Int_t binsx,
Double_t minx,
Double_t maxx,
Int_t binsy,
Double_t miny,
Double_t maxy,
Int_t binsz,
Double_t minz,
Double_t maxz,
Bool_t append = kTRUE);
43 while (x>=TMath::TwoPi())x-=TMath::TwoPi();
44 while (x<0.)x+=TMath::TwoPi();
48 if(TMath::Nint(n)==2)
while (x>TMath::Pi()) x-=TMath::Pi();
49 if(TMath::Nint(n)==3) {
50 if(x>2.*TMath::TwoPi()/n) x = TMath::TwoPi() - x;
51 if(x>TMath::TwoPi()/n) x = TMath::TwoPi()-(x+TMath::TwoPi()/n);
55 return (TMath::AreEqualAbs(a->Pt(), b->Pt(), 1e-2) && TMath::AreEqualAbs(a->Eta(), b->Eta(), 1e-2) && TMath::AreEqualAbs(a->Phi(), b->Phi(), 1e-2)) ? kTRUE : kFALSE; }
57 if(!(a&&b))
return 999;
58 Double_t phiA(a->Phi()), phiB(b->Phi()), etaA(a->Eta()), etaB(b->Eta());
59 if(TMath::Abs(phiA-phiB) > TMath::Abs(phiA-phiB + TMath::TwoPi())) phiA+=TMath::TwoPi();
60 if(TMath::Abs(phiA-phiB) > TMath::Abs(phiA-phiB - TMath::TwoPi())) phiA-=TMath::TwoPi();
61 return TMath::Sqrt(TMath::Abs((etaA-etaB)*(etaA-etaB)+(phiA-phiB)*(phiA-phiB))); }
95 return (!track || TMath::Abs(track->Eta()) > 0.9 || track->Phi() < 0 || track->Phi() > TMath::TwoPi()) ? kFALSE : kTRUE; }
TH1F * fHistTargetJetPt
pt of matched source jets
TH3F * fHistDiJet
no of consstituents fraction jet / jet
TH3F * fHistDiJetLeadingJet
matched dijet eta, phi
TString fSourceRhoName
source rho
Bool_t PassesCuts(const AliVTrack *track) const
void SetUseEmcalBaseJetCuts(Bool_t b)
void SetMatchedJetsName(const char *n)
TH1F * fHistMatchedJetPt
pt of target jets
void ClearMatchedJetsCache()
TH1F * fHistAnalysisSummary
dijet dpt
TH2F * fHistSourceMatchedJetPt
pt of matched jets
ClassDef(AliAnalysisTaskJetMatching, 6)
Bool_t PassesCuts(AliEmcalJet *jet, Int_t c)
TString fTargetJetsName
array with target jets
TClonesArray * fTargetJets
void SetTargetRadius(Float_t r)
TProfile * fProfFracNoMatched
sum pt fraction for matched jets
TString fTargetRhoName
target rho
void DoGeometricMatchingR()
void FillAnalysisSummaryHistogram() const
TH1F * fHistNoConstMatchJet
number of constituents of target jet
virtual void UserCreateOutputObjects()
TString fMatchedJetsName
final list of matched jets which is added to event
AliLocalRhoParameter * fSourceRho
Double_t GetR(AliVParticle *a, AliVParticle *b) const
TH1F * fh1AvgTrials
sum of trails (in Notify)
void SetMatchConstituents(Bool_t m)
TH3F * BookTH3F(const char *name, const char *x, const char *y, const char *z, Int_t binsx, Double_t minx, Double_t maxx, Int_t binsy, Double_t miny, Double_t maxy, Int_t binsz, Double_t minz, Double_t maxz, Bool_t append=kTRUE)
Bool_t fMatchConstituents
AliEmcalJet * fMatchedJetContainer[200][2]
number of matched jets
AliLocalRhoParameter * fTargetRho
void DoGeometricMatchingEtaPhi()
TH2F * fHistDetectorResponseProb
pt or source vs matched jets
AliEmcalJet * GetLeadingJet(TClonesArray *source, Int_t &leadingJetIndex, Double_t etaMin=-.7, Double_t etaMax=.7)
void SetGetBijection(Bool_t b)
matchingSceme fMatchingScheme
TH1F * BookTH1F(const char *name, const char *x, Int_t bins, Double_t min, Double_t max, Bool_t append=kTRUE)
Float_t fMatchEta
pointers to matched jets
Bool_t fUseEmcalBaseJetCuts
TH1F * fHistMatchedSourceJetPt
pt of source jets
TClonesArray * fMatchedJets
Double_t PhaseShift(Double_t x) const
TProfile * fProfFracPtMatched
number of constituents of matched jets
void FillMatchedJetHistograms()
void SetMatchPhi(Float_t f)
virtual ~AliAnalysisTaskJetMatching()
TClonesArray * fSourceJets
TString fSourceJetsName
array with source jets
TProfile * fProfFracPtJets
sum pt fraction for matched tracks / jet
void SetMatchR(Float_t f)
TH2F * fHistDiJetDPt
dijet dphi
TProfile * fh1Xsec
average sum of trials (in Run)
void SetTargetBKG(targetBKG b)
void SetMinFracRecoveredConstituentPt(Float_t f)
TProfile * fProfFracNoJets
no of constituents fraction found / jet
void DoConstituentMatching()
TH1F * fHistUnsortedCorrelation
output list
Float_t fMinFracRecoveredConstituents
Double_t PhaseShift(Double_t x, Double_t n) const
Float_t fAvgTrials
pythia cross section and trials
void SetTargetJetsName(const char *n)
TProfile * fProfQA
QA spreads of matched jets.
TProfile * fProfQAMatched
flags
Bool_t fDoDetectorResponse
void SetSourceRadius(Float_t r)
Float_t fMinFracRecoveredConstituentPt
virtual void Terminate(Option_t *option)
AliAnalysisTaskJetMatching()
TH2F * fHistDiJetDPhi
leading jet (for dijet) eta, phi
TH2F * BookTH2F(const char *name, const char *x, const char *y, Int_t binsx, Double_t minx, Double_t maxx, Int_t binsy, Double_t miny, Double_t maxy, Bool_t append=kTRUE)
void SetSourceJetsName(const char *n)
AliAnalysisTaskJetMatching & operator=(const AliAnalysisTaskJetMatching &)
void SetTargetLocalRhoName(const char *n)
void SetDoDetectorResponse(Bool_t d)
AliEmcalJet * GetSubLeadingJet(TClonesArray *source, Int_t leadingJetIndex, Int_t &subLeadingJetIndex)
Base task in the EMCAL jet framework.
Represent a jet reconstructed using the EMCal jet framework.
Int_t fNoMatchedJets
QA spreads of source and target jets.
void SetSourceBKG(sourceBKG b)
TH1F * fHistMatchedCorrelation
dphi correlation of unsorted jets
TH1F * fHistNoConstSourceJet
det prob
void SetMinFracRecoveredConstituents(Float_t f)
void SetMatchingScheme(matchingSceme m)
virtual Bool_t AcceptJet(AliEmcalJet *jet, Int_t c=0)
void SetSourceLocalRhoName(const char *n)
Bool_t CompareTracks(AliVParticle *a, AliVParticle *b) const
void SetMatchEta(Float_t f)
TH1F * fHistNoConstTargetJet
number of constituents of source jet
TH1F * fHistSourceJetPt
dphi correlation of matched jets