1 #ifndef ALIANALYSISTASKEMCALLIGHT_H
2 #define ALIANALYSISTASKEMCALLIGHT_H
17 class AliEMCALGeometry;
18 class AliGenPythiaEventHeader;
19 class AliVCaloTrigger;
20 class AliAnalysisUtils;
21 class AliEMCALTriggerPatchInfo;
31 #include "AliAnalysisTaskSE.h"
280 const Double_t tpi = TMath::TwoPi();
282 if (phia < 0) phia += tpi;
283 else if (phia > tpi) phia -= tpi;
284 if (phib < 0) phib += tpi;
285 else if (phib > tpi) phib -= tpi;
287 if (dphi < rangeMin) dphi += tpi;
288 else if (dphi > rangeMax) dphi -= tpi;
306 for (
Int_t i = 1; i <= n; i++) {
307 array[i] = array[i-1]+binWidth;
void SetRejectionReasonLabels(TAxis *axis)
void SetNCentBins(Int_t n)
Double_t fVertexSPD[3]
!event Svertex
void UserCreateOutputObjects()
TString fCaloTriggersName
name of calo triggers collection
void ClearAcceptedTriggerClasses()
TObjArray fAcceptedTriggerClasses
list of accepted trigger classes
Int_t fNcentBins
how many centrality bins
AliEMCALGeometry * fGeom
!emcal geometry
EBeamType_t fBeamType
!event beam type
TList * fOutput
!output list
TClonesArray * GetArrayFromEvent(const char *name, const char *clname=0)
void RemoveParticleContainer(Int_t i=0)
Double_t fPtHard
!event pt hard
EDataType_t
Switch for the data type.
TObjArray fClusterCollArray
cluster collection array
AliMCParticleContainer * GetMCParticleContainer(Int_t i=0) const
void SetPtHardBin(Int_t pt)
Float_t fXsection
!x-section from pythia header
Double_t fEPV0A
!event plane V0A
Double_t fEPV0
!event plane V0
TH1 * fHistEventCount
!incoming and selected events
TObjArray fRejectedTriggerClasses
list of accepted trigger classes
AliTrackContainer * GetTrackContainer(Int_t i=0) const
Int_t fNTrials
!event trials
TObjArray fParticleCollArray
particle/track collection array
Container with name, TClonesArray and cuts for particles.
Double_t fZvertexDiff
upper limit for distance between primary and SPD vertex
AliTrackContainer * AddTrackContainer(const char *n)
void SetForceBeamType(EBeamType_t f)
TString fCaloTriggerPatchInfoName
trigger patch info array name
Double_t fMinVz
min vertex for event selection
TProfile * fHistXsectionAfterSel
!x section from pythia header
void UserExec(Option_t *option)
void AddRejectedTriggerClass(const char *trigClass)
void SetMinPtTrackInEmcal(Double_t min)
TString fCentEst
name of the centrality estimator
virtual Bool_t FillGeneralHistograms()
UInt_t fTriggerSelectionBitMap
trigger selection bit map
TH1 * fHistCentrality
!event centrality distribution
AliTrackContainer * GetTrackContainer(const char *name) const
static Byte_t GetTrackType(const AliVTrack *t)
virtual ~AliAnalysisTaskEmcalLight()
TH1 * fHistTriggerClasses
!number of events in each trigger class
TString fCaloCellsName
name of calo cell collection
TH1 * fHistEvents
!total number of events per pt hard bin
Bool_t IsTrackInEmcalAcceptance(AliVParticle *part, Double_t edges=0.9) const
Double_t fMinCent
min centrality for event selection
Double_t fMinPtTrack
cut on track pt in event selection
virtual Bool_t FillHistograms()
void SetCentRange(Double_t min, Double_t max)
Container for particles within the EMCAL framework.
static void GetEtaPhiDiff(const AliVTrack *t, const AliVCluster *v, Double_t &phidiff, Double_t &etadiff)
void AddObjectToEvent(TObject *obj, Bool_t attempt=kFALSE)
static Double_t fgkEMCalDCalPhiDivide
phi value used to distinguish between DCal and EMCal
EBeamType_t fForceBeamType
forced beam type
virtual Bool_t IsEventSelected()
AliVCaloCells * fCaloCells
!cells
AliClusterContainer * AddClusterContainer(const char *n)
Bool_t fCreateHisto
whether or not create histograms
TH1 * fHistEventRejection
!book keep reasons for rejecting event
TH1 * fHistTrials
!trials from pyxsec.root
void AddAcceptedTriggerClass(const char *trigClass)
TString fFiredTriggerClasses
!trigger classes fired by the current event
Base task in the EMCAL framework (lighter version of AliAnalysisTaskEmcal)
EBeamType_t GetBeamType()
Double_t fVertex[3]
!event vertex
static Double_t * GenerateFixedBinArray(Int_t n, Double_t min, Double_t max)
AliClusterContainer * GetClusterContainer(Int_t i=0) const
Int_t fPtHardBin
!event pt hard bin
void AdoptClusterContainer(AliClusterContainer *cont)
void SetNeedEmcalGeom(Bool_t n)
void SetZvertexDiffValue(Double_t cut)
Bool_t fIsPythia
if it is a PYTHIA production
TProfile * fHistXsection
!x section from pyxsec.root
Int_t fCentBin
!event centrality bin
Int_t fSelectPtHardBin
select one pt hard bin for analysis
TH1 * fHistEventsAfterSel
!total number of events per pt hard bin after selection
Double_t fMaxCent
max centrality for event selection
void SetUseNewCentralityEstimation(Bool_t b)
ULong_t fFiredTriggerBitMap
!bit map of fired triggers
AliMCParticleContainer * GetMCParticleContainer(const char *name) const
virtual Bool_t RetrieveEventObjects()
void SetCaloCellsName(const char *n)
Int_t fNVertSPDCont
!event SPD vertex number of contributors
static Double_t DeltaPhi(Double_t phia, Double_t phib, Double_t rMin=-TMath::Pi()/2, Double_t rMax=3 *TMath::Pi()/2)
void SetCentralityEstimator(const char *c)
Double_t fMinPtTrackInEmcal
min pt track in emcal
Bool_t PythiaInfoFromFile(const char *currFile, Float_t &fXsec, Float_t &fTrials, Int_t &pthard)
Bool_t fLocalInitialized
!whether or not the task has been already initialized
static EBeamType_t BeamTypeFromRunNumber(Int_t runnumber)
void SetMinPtTrack(Double_t min)
Int_t fMinNTrack
minimum nr of tracks in event with pT>fTrackPtCut
void SetCaloTriggerPatchInfoName(const char *n)
void AdoptTrackContainer(AliTrackContainer *cont)
void SetMinNTrack(Int_t min)
AliParticleContainer * GetParticleContainer(Int_t i=0) const
void SetVzRange(Double_t min, Double_t max)
void RemoveClusterContainer(Int_t i=0)
Int_t fNVertCont
!event vertex number of contributors
AliMCParticleContainer * AddMCParticleContainer(const char *n)
Bool_t fGeneralHistograms
whether or not it should fill some general histograms
AliGenPythiaEventHeader * fPythiaHeader
!event Pythia header
void SetIsPythia(Bool_t i)
TH1 * fHistPtHard
!pt hard distribution
AliAnalysisTaskEmcalLight()
TH1 * fHistTrialsAfterSel
!total number of trials per pt hard bin after selection
void SetTriggerSelectionBitMap(UInt_t t)
TH1 * fHistEventPlane
!event plane distribution
EBeamType_t
Switch for the beam type.
void SetCaloTriggersName(const char *n)
AliVCaloTrigger * fCaloTriggers
!calo triggers
Container structure for EMCAL clusters.
Container for MC-true particles within the EMCAL framework.
void SetMakeGeneralHistograms(Bool_t g)
TH1 * fHistZVertex
!z vertex position
AliParticleContainer * AddParticleContainer(const char *n)
AliAnalysisTaskEmcalLight & operator=(const AliAnalysisTaskEmcalLight &)
void AdoptParticleContainer(AliParticleContainer *cont)
Double_t fMaxVz
max vertex for event selection
Double_t fCent
!event centrality
Double_t fEPV0C
!event plane V0C
Bool_t fUseNewCentralityEstimation
Use new centrality estimation (for 2015 data)
TClonesArray * fTriggerPatchInfo
!trigger patch info array
void AdoptMCParticleContainer(AliMCParticleContainer *cont)
void ClearRejectedTriggerClasses()
Bool_t fNeedEmcalGeom
whether or not the task needs the emcal geometry
static Double_t GetParallelFraction(AliVParticle *part1, AliVParticle *part2)
EDataType_t fDataType
!data type (ESD or AOD)