#ifndef AliAnalysisTaskJetMatching_H
#define AliAnalysisTaskJetMatching_H
+//#define DEBUGTASK
+
#include <AliAnalysisTaskEmcalJet.h>
#include <AliEmcalJet.h>
#include <AliVTrack.h>
#include <TRandom3.h>
class TF1;
-class THF1;
-class THF2;
+class TH1F;
+class TH2F;
+class TH3F;
class TProfile;
class AliRhoParameter;
class AliLocalRhoParameter;
virtual void UserCreateOutputObjects();
TH1F* BookTH1F(const char* name, const char* x, Int_t bins, Double_t min, Double_t max, Bool_t append = kTRUE);
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);
+ 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);
+
virtual Bool_t Run();
/* inline */ Double_t PhaseShift(Double_t x) const {
while (x>=TMath::TwoPi())x-=TMath::TwoPi();
return TMath::Sqrt(TMath::Abs((etaA-etaB)*(etaA-etaB)+(phiA-phiB)*(phiA-phiB))); }
// setters - setup how to run
- void SetDebugMode(Int_t d) {fDebug = d;}
void SetMatchingScheme(matchingSceme m) {fMatchingScheme = m;}
void SetMatchConstituents(Bool_t m) {fMatchConstituents = m;}
void SetMinFracRecoveredConstituents(Float_t f) {fMinFracRecoveredConstituents = f;}
fNoMatchedJets = 0;
}
AliEmcalJet* GetLeadingJet(TClonesArray* source, Int_t &leadingJetIndex, Double_t etaMin = -.7, Double_t etaMax = .7);
- AliEmcalJet* GetSubLeadingJet(TClonesArray* source, Int_t leadingJetIndex, Int_t &subLeadingJetIndex, Double_t etaMin = -.7, Double_t etaMax = .7);
+ AliEmcalJet* GetSubLeadingJet(TClonesArray* source, Int_t leadingJetIndex, Int_t &subLeadingJetIndex);
void PrintInfo() const;
virtual void Terminate(Option_t* option);
private:
- Int_t fDebug; // debug level (0 none, 1 fcn calls, 2 verbose)
TClonesArray* fSourceJets; //! array with source jets
TString fSourceJetsName; // name of array with source jets
TClonesArray* fTargetJets; //! array with target jets
TProfile* fProfFracPtJets; //! sum pt fraction for matched jets
TProfile* fProfFracNoMatched; //! no of constituents fraction found / jet
TProfile* fProfFracNoJets; //! no of consstituents fraction jet / jet
- TH2F* fHistDiJet; //! matched dijet eta, phi
- TH2F* fHistDiJetLeadingJet; //! leading jet (for dijet) eta, phi
- TH1F* fHistDiJetDPhi; //! dijet dphi
+ TH3F* fHistDiJet; //! matched dijet eta, phi
+ TH3F* fHistDiJetLeadingJet; //! leading jet (for dijet) eta, phi
+ TH2F* fHistDiJetDPhi; //! dijet dphi
+ TH2F* fHistDiJetDPt; //! dijet dpt
TH1F* fHistAnalysisSummary; //! flags
TProfile* fProfQAMatched; //! QA spreads of matched jets
TProfile* fProfQA; //! QA spreads of source and target jets