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)
119 AliError(
"Non-existing output list demanded!");
128 AliError(
"Non-existing output list demanded!");
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");
void SetCurrentOutputList(Int_t i)
Int_t fTempOverlapCounter
Double_t ThetaToEta(Double_t arg)
void SetUsePtDepCrossedRowsCut(Bool_t val)
Bool_t fDoJetAnalysis
Currently selected list where the histograms will be saved to.
Double_t GetDeltaPt(Double_t rho, Double_t overlappingJetExclusionProbability=0)
AliEmcalJet * fFirstLeadingKTJet
next to leading jet in event
AliESDHybridTrackcuts & operator=(const AliESDHybridTrackcuts &c)
void GetKTBackgroundDensityAll(Int_t numberExcludeLeadingJets, Double_t &rhoPbPb, Double_t &rhoPbPbWithGhosts, Double_t &rhoCMS, Double_t &rhoImprovedCMS, Double_t &rhoMean, Double_t &rhoTrackLike)
virtual void UserExec(Option_t *option)
AliAnalysisUtils * fHelperClass
A random number.
void CreateJetProfilePlots(Double_t bgrd)
Int_t fTaskInstanceCounter
AliESDtrackCuts * fMainCuts
void SetNoTerminate(Bool_t val)
TString fJetArrayName
object containing background jets
Bool_t IsSignalJetInAcceptance(AliEmcalJet *jet, Bool_t usePtCut=kFALSE)
Bool_t IsJetOverlapping(AliEmcalJet *jet1, AliEmcalJet *jet2)
void SetCentralityType(const char *type)
Bool_t fNoExternalBackground
void SetRandConeNumber(Int_t number)
void GetTRBackgroundDensity(Int_t numberExcludeLeadingJets, Double_t &rhoNoExclusion, Double_t &rhoConeExclusion02, Double_t &rhoConeExclusion04, Double_t &rhoConeExclusion06, Double_t &rhoConeExclusion08, Double_t &rhoExactExclusion)
Int_t fNumberSignalJetsAbove5GeV
void SetAnalyzeTrackcuts(Bool_t val)
Bool_t IsTrackInJet(AliEmcalJet *jet, Int_t trackIndex)
Bool_t IsTrackInCone(AliVTrack *track, Double_t eta, Double_t phi, Double_t radius)
AliESDHybridTrackcuts(const AliESDHybridTrackcuts &pd)
void CreateCutHistograms()
virtual ~AliAnalysisTaskChargedJetsPA()
void SetCentralityToOne(Bool_t val)
Bool_t IsTrackInAcceptance(AliVParticle *track)
Bool_t AcceptAdditionalTrack(const AliESDtrack *esdTrack)
void InitializeTrackcuts()
void SetMinNCrossedRows(Int_t val)
AliESDtrackCuts * GetAdditionalCuts()
void SetDoJetAnalysis(Bool_t val)
Double_t GetCorrectedConePt(Double_t eta, Double_t phi, Double_t radius, Double_t background)
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")
UShort_t T(UShort_t m, UShort_t t)
void GetPPBackgroundDensity(Double_t &background)
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)
THnF * AddCutHistogram(const char *name, const char *title, const char *cutName, Int_t nBins, Double_t xMin, Double_t xMax)
Double_t fTempMeanExclusionProbability
TList * fCurrentOutputList
Output lists.
void SetRandConeRadius(Double_t radius)
Double_t GetConePt(Double_t eta, Double_t phi, Double_t radius)
Bool_t fAnalyzeJetConstituents
AliAnalysisTaskChargedJetsPA & operator=(const AliAnalysisTaskChargedJetsPA &)
void SetSignalJetMinArea(Double_t minArea)
Double_t MCGetOverlapMultipleCirclesRectancle(Int_t numCircles, std::vector< Double_t > cPosX, std::vector< Double_t > cPosY, Double_t cRadius, Double_t rPosXmin, Double_t rPosXmax, Double_t rPosYmin, Double_t rPosYmax)
void FillCutHistogram(const char *key, Double_t cut, Double_t pT, Double_t eta, Double_t phi, Int_t isAdditionalTrack)
void SetUsePileUpCut(Bool_t val)
Bool_t fUsePtDepCrossedRowsCut
void BinLogAxis(const THn *h, Int_t axisNumber)
std::vector< TList * > fOutputLists
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")
AliESDtrackCuts * fAdditionalCuts
Double_t fMatchChi[kMaxMatch]
Helper variables track matching.
AliEmcalJet * fSecondLeadingJet
leading jet in event
virtual void Terminate(Option_t *)
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.
void SetAcceptanceEta(Double_t minEta, Double_t maxEta)
Bool_t fInitialized
Vertex selection helper.
AliAnalysisTaskChargedJetsPA()
const AliVVertex * fPrimaryVertex
Helper variables track matching.
void Match(AliESDtrack *tr0, AliESDtrack *tr1, Int_t &nmatch, Bool_t excludeMom=kFALSE, Double_t rotate=0)
void SetMainCuts(AliESDtrackCuts *trackCuts)
void SetAnalyzeJetProfile(Bool_t val)
virtual Bool_t UserNotify()
Bool_t fUseDefaultVertexCut
Double_t fBackgroundJetRadius
Int_t fNumberExcludedJets
Double_t MCGetOverlapCircleRectancle(Double_t cPosX, Double_t cPosY, Double_t cRadius, Double_t rPosXmin, Double_t rPosXmax, Double_t rPosYmin, Double_t rPosYmax)
void SetExternalRhoTaskName(const char *name)
virtual ~AliESDHybridTrackcuts()
Bool_t AcceptNormalTrack(const AliESDtrack *esdTrack)
Int_t fNumberOfCentralityBins
Int_t GetConeConstituentCount(Double_t eta, Double_t phi, Double_t radius)
Double_t GetCorrectedJetPt(AliEmcalJet *jet, Double_t background)
void CreateITSTPCMatchingHistograms()
Double_t GetExternalRho()
TClonesArray * fTrackArray
object containing the jets
void SetSignalJetRadius(Double_t radius)
void Calculate(AliVEvent *event)
Double_t GetDeltaPhi(Double_t phi1, Double_t phi2)
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.
virtual void UserCreateOutputObjects()
Int_t fPartialAnalysisIndex
Bool_t IsEventInAcceptance(AliVEvent *event)
AliESDHybridTrackcuts * fHybridESDtrackCuts_variedPtDep2
these trackcuts are applied
Double_t fSignalJetRadius
void SetAnalyzePartialEvents(Int_t nParts, Int_t index)
Double_t EtaToTheta(Double_t arg)
Bool_t fAnalyzeJetProfile
virtual void Copy(AliESDHybridTrackcuts &c) const
void SetTrackMinPt(Double_t minPt)
void SetNumberOfCentralityBins(Int_t val)
void FillHistogram(const char *key, Double_t x)
static const double kMaxChi2
const char * GetHistoName(const char *name)
void GetPerpendicularCone(Double_t vecPhi, Double_t vecTheta, Double_t &conePt)
void SetAnalyzeJetConstituents(Bool_t val)
AliEmcalJet * fSecondLeadingKTJet
leading kT jet in event
TClonesArray * fBackgroundJetArray
object containing the tracks
AliESDtrack * fMatchTr[kMaxMatch]
AliESDHybridTrackcuts * fHybridESDtrackCuts
Bool_t IsBackgroundJetInAcceptance(AliEmcalJet *jet)
ClassDef(AliAnalysisTaskChargedJetsPA, 3)
void SetNoExternalBackground(Bool_t val)