1 #ifndef ALIANALYSISTASKCHARGEDJETSPA_H 2 #define ALIANALYSISTASKCHARGEDJETSPA_H 13 class AliAnalysisUtils;
17 #include "AliESDtrackCuts.h" 66 AliAnalysisTaskChargedJetsPA() :
AliAnalysisTaskSE(), fOutputLists(), fCurrentOutputList(0), fDoJetAnalysis(1), fAnalyzeJetProfile(0), fAnalyzeTrackcuts(0), fAnalyzeJetConstituents(1), fParticleLevel(0), fUseDefaultVertexCut(1), fUsePileUpCut(1), fSetCentralityToOne(0), fNoExternalBackground(0), fBackgroundForJetProfile(0), fPartialAnalysisNParts(1), fPartialAnalysisIndex(0), fJetArray(0), fTrackArray(0), fBackgroundJetArray(0), fJetArrayName(), fTrackArrayName(), fBackgroundJetArrayName(), fRhoTaskName(), fRandConeRadius(0.4), fRandConeNumber(10), fSignalJetRadius(0.4), fBackgroundJetRadius(0.4), fNumberExcludedJets(-1), fMinEta(-0.9), fMaxEta(0.9), fMinJetEta(-0.5), fMaxJetEta(0.5), fMinTrackPt(0.150), fMinJetPt(5.0), fMinJetArea(0.5), fMinBackgroundJetPt(0.0), fMinNCrossedRows(70), fUsePtDepCrossedRowsCut(0), fNumberOfCentralityBins(20), fCentralityType(
"V0A"), fMatchTr(), fMatchChi(), fPrimaryVertex(0), fFirstLeadingJet(0), fSecondLeadingJet(0), fFirstLeadingKTJet(0), fSecondLeadingKTJet(0), fNumberSignalJets(0), fNumberSignalJetsAbove5GeV(0), fRandom(0), fHelperClass(0), fInitialized(0), fTaskInstanceCounter(0), fIsDEBUG(0), fIsPA(1), fNoTerminate(1), fEventCounter(0), fTempExcludedRCs(0), fTempAllRCs(1), fTempOverlapCounter(0), fTempMeanExclusionProbability(0), fHybridESDtrackCuts(0), fHybridESDtrackCuts_variedPtDep(0), fHybridESDtrackCuts_variedPtDep2(0)
73 virtual void UserCreateOutputObjects();
74 virtual void UserExec(
Option_t *option);
75 virtual Bool_t UserNotify();
112 fCurrentOutputList = fOutputLists[0];
116 if(fAnalyzeJetProfile)
117 fCurrentOutputList = fOutputLists[1];
119 AliError(
"Non-existing output list demanded!");
123 if(!fAnalyzeJetProfile && fAnalyzeTrackcuts)
124 fCurrentOutputList = fOutputLists[1];
125 else if(fAnalyzeJetProfile && fAnalyzeTrackcuts)
126 fCurrentOutputList = fOutputLists[2];
128 AliError(
"Non-existing output list demanded!");
135 void InitializeTrackcuts();
136 void GetLeadingJets();
142 void GetPPBackgroundDensity(
Double_t& background);
148 void CreateJetProfilePlots(
Double_t bgrd);
149 void CreateCutHistograms();
150 void CreateITSTPCMatchingHistograms();
154 Bool_t IsTrackInAcceptance(AliVParticle* track);
159 Bool_t IsEventInAcceptance(AliVEvent* event);
169 void Match(AliESDtrack* tr0, AliESDtrack* tr1,
Int_t& nmatch,
Bool_t excludeMom = kFALSE,
Double_t rotate=0);
172 void FillHistogram(
const char * key,
Double_t x);
180 return Form(
"%s_MC", name);
181 return Form(
"%s", name);
183 template <
class T>
T* AddHistogram1D(
const char* name =
"CustomHistogram",
const char*
title =
"NO_TITLE",
const char* options =
"",
Int_t xBins = 100,
Double_t xMin = 0.0,
Double_t xMax = 20.0,
const char* xTitle =
"x axis",
const char* yTitle =
"y axis");
184 template <
class T>
T* AddHistogram2D(
const char* name =
"CustomHistogram",
const char*
title =
"NO_TITLE",
const char* options =
"",
Int_t xBins = 100,
Double_t xMin = 0.0,
Double_t xMax = 20.0,
Int_t yBins = 100,
Double_t yMin = 0.0,
Double_t yMax = 20.0,
const char* xTitle =
"x axis",
const char* yTitle =
"y axis",
const char* zTitle =
"z axis");
186 void BinLogAxis(
const THn *h,
Int_t axisNumber);
189 void Calculate(AliVEvent* event);
238 AliESDtrack* fMatchTr[kMaxMatch];
void SetCurrentOutputList(Int_t i)
Int_t fTempOverlapCounter
void SetUsePtDepCrossedRowsCut(Bool_t val)
Bool_t fDoJetAnalysis
Currently selected list where the histograms will be saved to.
AliEmcalJet * fFirstLeadingKTJet
next to leading jet in event
AliESDHybridTrackcuts & operator=(const AliESDHybridTrackcuts &c)
AliAnalysisUtils * fHelperClass
A random number.
Int_t fTaskInstanceCounter
AliESDtrackCuts * fMainCuts
void SetNoTerminate(Bool_t val)
TString fJetArrayName
object containing background jets
void SetCentralityType(const char *type)
Bool_t fNoExternalBackground
void SetRandConeNumber(Int_t number)
Int_t fNumberSignalJetsAbove5GeV
void SetAnalyzeTrackcuts(Bool_t val)
AliESDHybridTrackcuts(const AliESDHybridTrackcuts &pd)
void SetCentralityToOne(Bool_t val)
Bool_t AcceptAdditionalTrack(const AliESDtrack *esdTrack)
void SetMinNCrossedRows(Int_t val)
AliESDtrackCuts * GetAdditionalCuts()
void SetDoJetAnalysis(Bool_t val)
UShort_t T(UShort_t m, UShort_t t)
Int_t fBackgroundForJetProfile
Int_t GetInstanceCounter()
void SetBackgroundJetRadius(Double_t radius)
TString fBackgroundJetArrayName
void SetAcceptanceJetEta(Double_t minEta, Double_t maxEta)
void SetBackgroundJetMinPt(Double_t minPt)
void SetAdditionalCuts(AliESDtrackCuts *trackCuts)
Double_t fTempMeanExclusionProbability
TList * fCurrentOutputList
Output lists.
void SetRandConeRadius(Double_t radius)
Bool_t fAnalyzeJetConstituents
void SetSignalJetMinArea(Double_t minArea)
void SetUsePileUpCut(Bool_t val)
Bool_t fUsePtDepCrossedRowsCut
std::vector< TList * > fOutputLists
AliESDtrackCuts * fAdditionalCuts
AliEmcalJet * fSecondLeadingJet
leading jet in event
Int_t fPartialAnalysisNParts
void SetSignalJetMinPt(Double_t minPt)
Int_t fNumberSignalJets
next to leading kT jet in event
Double_t fMinBackgroundJetPt
void SetBackgroundForJetProfile(Bool_t val)
AliEmcalJet * fFirstLeadingJet
Vertex found per event.
Bool_t fInitialized
Vertex selection helper.
void SetAcceptanceEta(Double_t minEta, Double_t maxEta)
AliAnalysisTaskChargedJetsPA()
const AliVVertex * fPrimaryVertex
Helper variables track matching.
void SetMainCuts(AliESDtrackCuts *trackCuts)
void SetAnalyzeJetProfile(Bool_t val)
Bool_t fUseDefaultVertexCut
Double_t fBackgroundJetRadius
Int_t fNumberExcludedJets
void SetExternalRhoTaskName(const char *name)
virtual ~AliESDHybridTrackcuts()
Bool_t AcceptNormalTrack(const AliESDtrack *esdTrack)
Int_t fNumberOfCentralityBins
TClonesArray * fTrackArray
object containing the jets
void SetSignalJetRadius(Double_t radius)
void SetUseDefaultVertexCut(Bool_t val)
AliESDtrackCuts * GetMainCuts()
Int_t AcceptTrack(const AliESDtrack *esdTrack)
AliESDHybridTrackcuts * fHybridESDtrackCuts_variedPtDep
these trackcuts are applied
Bool_t fSetCentralityToOne
Represent a jet reconstructed using the EMCal jet framework.
Int_t fPartialAnalysisIndex
AliESDHybridTrackcuts * fHybridESDtrackCuts_variedPtDep2
these trackcuts are applied
Double_t fSignalJetRadius
void SetAnalyzePartialEvents(Int_t nParts, Int_t index)
Bool_t fAnalyzeJetProfile
virtual void Copy(AliESDHybridTrackcuts &c) const
void SetTrackMinPt(Double_t minPt)
void SetNumberOfCentralityBins(Int_t val)
static const double kMaxChi2
const char * GetHistoName(const char *name)
void SetAnalyzeJetConstituents(Bool_t val)
AliEmcalJet * fSecondLeadingKTJet
leading kT jet in event
TClonesArray * fBackgroundJetArray
object containing the tracks
AliESDHybridTrackcuts * fHybridESDtrackCuts
void SetNoExternalBackground(Bool_t val)