ROOT logo
AliRoot » PWGJE » EMCALJETTASKS » USERTASKS » AliAnalysisTaskFullppJet

class AliAnalysisTaskFullppJet: public AliAnalysisTaskSE

 Full pp jet task - ESD input only
 Extract the jet spectrum and all the
 systematic uncertainties
 -R. Ma, Mar 2011

Function Members (Methods)

public:
AliAnalysisTaskFullppJet()
AliAnalysisTaskFullppJet(const char* name)
virtual~AliAnalysisTaskFullppJet()
virtual voidTTask::Abort()MENU
voidTObject::AbstractMethod(const char* method) const
virtual voidTTask::Add(TTask* task)
virtual voidAliAnalysisTaskSE::AddAODBranch(const char* cname, void* addobj, const char* fname = "")
virtual AliAODEvent*AliAnalysisTaskSE::AODEvent() const
virtual voidTObject::AppendPad(Option_t* option = "")
Bool_tAliAnalysisTask::AreSlotsConnected()
virtual voidTTask::Browse(TBrowser* b)
Bool_tAliAnalysisTask::CheckCircularDeps()
voidAliAnalysisTask::CheckNotify(Bool_t init = kFALSE)
virtual Bool_tAliAnalysisTask::CheckOwnership() const
virtual Bool_tAliAnalysisTask::CheckPostData() const
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTTask::CleanTasks()
virtual voidTTask::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
Bool_tAliAnalysisTask::ConnectInput(Int_t islot, AliAnalysisDataContainer* cont)
virtual voidAliAnalysisTaskSE::ConnectInputData(Option_t* option = "")
Bool_tAliAnalysisTask::ConnectOutput(Int_t islot, AliAnalysisDataContainer* cont)
virtual voidTTask::Continue()MENU
virtual voidTNamed::Copy(TObject& named) const
virtual voidAliAnalysisTaskSE::CreateOutputObjects()
virtual const char*AliAnalysisTaskSE::CurrentFileName()
virtual Int_tAliAnalysisTaskSE::DebugLevel() const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual Long64_tAliAnalysisTaskSE::Entry() const
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual AliESDfriend*AliAnalysisTaskSE::ESDfriend() const
virtual const AliEventTag*AliAnalysisTaskSE::EventTag() const
virtual voidAliAnalysisTaskSE::Exec(Option_t* option)
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTTask::ExecuteTask(Option_t* option = "0")MENU
virtual voidTTask::ExecuteTasks(Option_t* option)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual voidAliAnalysisTask::FinishTaskOutput()
voidAliAnalysisTask::GetBranches(const char* type, TString& result) const
Int_tTTask::GetBreakin() const
Int_tTTask::GetBreakout() const
virtual UInt_tAliAnalysisTaskSE::GetCollisionCandidates() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
TObject*AliAnalysisTask::GetInputData(Int_t islot) const
AliAnalysisDataSlot*AliAnalysisTask::GetInputSlot(Int_t islot) const
TClass*AliAnalysisTask::GetInputType(Int_t islot) const
TList*TTask::GetListOfTasks() const
virtual const char*TNamed::GetName() const
Int_tAliAnalysisTask::GetNinputs() const
Int_tAliAnalysisTask::GetNoutputs() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
TObject*AliAnalysisTask::GetOutputData(Int_t islot) const
AliAnalysisDataSlot*AliAnalysisTask::GetOutputSlot(Int_t islot) const
TClass*AliAnalysisTask::GetOutputType(Int_t islot) const
TObject*AliAnalysisTask::GetPublishedData() const
virtual TList*AliAnalysisTaskSE::GetQAHistos() const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
Bool_tAliAnalysisTask::HasBranches() const
Bool_tAliAnalysisTask::HasExecuted() const
virtual ULong_tTNamed::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidAliAnalysisTaskSE::Init()
virtual AliVEvent*AliAnalysisTaskSE::InputEvent() const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
Bool_tTTask::IsActive() const
Bool_tAliAnalysisTask::IsChecked() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tAliAnalysisTaskSE::IsEventInBinZero()
virtual Bool_tTTask::IsFolder() const
Bool_tAliAnalysisTask::IsInitialized() const
Bool_tTObject::IsOnHeap() const
Bool_tAliAnalysisTask::IsOutputReady(Int_t islot) const
Bool_tAliAnalysisTask::IsPostEventLoop() const
Bool_tAliAnalysisTask::IsReady() const
virtual Bool_tTNamed::IsSortable() const
virtual Bool_tAliAnalysisTaskSE::IsStandardAOD() const
Bool_tAliAnalysisTask::IsUsed() const
Bool_tAliAnalysisTask::IsZombie() const
voidAliAnalysisTaskSE::LoadBranches() const
virtual voidAliAnalysisTask::LocalInit()
virtual voidTTask::ls(Option_t* option = "*") constMENU
voidTObject::MayNotUse(const char* method) const
virtual AliMCEvent*AliAnalysisTaskSE::MCEvent() const
virtual Bool_tNotify()
virtual Bool_tAliAnalysisTask::NotifyBinChange()
virtual voidAliAnalysisTaskSE::NotifyRun()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
virtual TTree*AliAnalysisTaskSE::OutputTree() const
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
voidPrintConfig()
voidAliAnalysisTask::PrintContainers(Option_t* option = "all", Int_t indent = 0) const
virtual voidAliAnalysisTask::PrintTask(Option_t* option = "all", Int_t indent = 0) const
Bool_tAliAnalysisTask::ProducersTouched() const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
virtual voidAliAnalysisTask::Reset()
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
virtual voidAliAnalysisTaskSE::SelectCollisionCandidates(UInt_t offlineTriggerMask = AliVEvent::kMB)
voidTTask::SetActive(Bool_t active = kTRUE)TOGGLE
voidSetAlgorithm(char* algo)
voidSetAnaType(Int_t ana)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidAliAnalysisTask::SetBranches(const char* names)
voidTTask::SetBreakin(Int_t breakin = 1)TOGGLE
voidTTask::SetBreakout(Int_t breakout = 1)TOGGLE
voidSetChargedMC(Bool_t mc)
voidAliAnalysisTask::SetChecked(Bool_t flag = kTRUE)
voidSetCheckTPCOnlyVtx(Bool_t check)
voidSetCheckTriggerMask(Bool_t check)
voidSetCheckTrkEffCorr(Bool_t check)
voidSetConstrainChargedInEMCal(Bool_t con)
voidSetCorrectHadron(Bool_t correct)
virtual voidAliAnalysisTaskSE::SetDebugLevel(Int_t level)
voidSetdEdxRange(Double_t min, Double_t max)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetEoverPRange(Double_t min, Double_t max)
voidSetEsdTrackCuts(AliESDtrackCuts* cuts)
voidSetEtaMax(Double_t eta)
voidSetEtRange(Double_t minMB, Double_t maxMB, Double_t minHT, Double_t maxHT)
voidSetFindChargedOnlyJet(Bool_t ch)
voidSetFindNeutralOnlyJet(Bool_t ne)
voidSetHCFraction(Float_t fraction)
voidSetHCLowerPtCutMIP(Double_t pt)
voidSetHybridTrackCuts1(AliESDtrackCuts* cuts)
voidSetHybridTrackCuts2(AliESDtrackCuts* cuts)
voidSetJetNEFCut(Double_t min, Double_t max)
voidSetKinCutType(Int_t type)
voidSetMatchType(Int_t type)
voidSetMCAna(Bool_t mc)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
voidSetNonStdBranch(char* name)
voidSetNonStdFile(char* name)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetOfflineTrigger(Bool_t t)
voidSetPhySelForMC(Bool_t phy)
voidAliAnalysisTask::SetPostEventLoop(Bool_t flag = kTRUE)
voidSetPtRange(Double_t minMB, Double_t maxMB, Double_t minHT, Double_t maxHT)
voidSetRadius(char* r)
voidSetRecombinationScheme(Int_t scheme)
voidSetRejectElectron(Bool_t reject)
voidSetRejectExoticCluster(Bool_t reject)
voidSetRejectExoticTrigger(Bool_t re)
voidSetRejectNK(Bool_t reject)
voidSetRejectSPDPileup(Bool_t re)
voidSetRejectWD(Bool_t reject)
voidSetRemoveProblematicSM4(Bool_t remove)
voidSetRunPeriod(char* p)
voidSetRunSecondaries(Bool_t run)
voidSetRunUE(Bool_t run)
voidSetSaveQAHistos(Bool_t save)
voidSetSmearMC(Double_t smear)
voidSetSpotGoodJet(Bool_t spot)
voidSetStudyMcOverSubE(Bool_t study)
voidSetStudySubEInHC(Bool_t study)
voidSetSysClusterERes(Bool_t sys)
voidSetSysClusterEScale(Bool_t sys)
voidSetSysClusterizer(Bool_t sys)
voidSetSysJetTrigEff(Bool_t sys)
voidSetSysNonLinearity(Bool_t sys)
voidSetSysTrkClsCut(Double_t deta, Double_t dphi)
voidSetSysTrkClsMth(Bool_t sys)
voidSetSysTrkEff(Bool_t sys)
voidSetSysTrkPtRes(Bool_t sys)
virtual voidTNamed::SetTitle(const char* title = "")MENU
voidSetTrackCutsType(Int_t type)
voidSetTrkEffCorrCutZ(Double_t zcut)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidAliAnalysisTask::SetUsed(Bool_t flag = kTRUE)
voidSetUseGoodSM(Bool_t good)
voidSetVaryClusterERes(Double_t vary)
voidSetVaryClusterEScale(Double_t vary)
voidSetVaryJetTrigEff(Double_t vary)
voidSetVaryTrkEff(Double_t vary)
voidSetVaryTrkPtRes(Double_t vary)
voidSetVerbosity(Int_t v)
voidSetXsec(Float_t Xsec)
voidAliAnalysisTask::SetZombie(Bool_t flag = kTRUE)
voidSetZvtx(Double_t zvtx)
virtual voidShowMembers(TMemberInspector&)
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
virtual voidTerminate(Option_t*)
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidUserCreateOutputObjects()
virtual voidUserExec(Option_t* option)
virtual voidAliAnalysisTaskSE::UserExecMix(Option_t*)
virtual Bool_tAliAnalysisTaskSE::UserNotify()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
voidAnalyzeJets(AliFJWrapper* jetFinder, const Int_t type, const Int_t r)
voidAnalyzeSecondaryContribution(AliFJWrapper* jetFinder, const Int_t r, const Int_t etaCut)
voidAnalyzeSecondaryContributionViaMatching(AliFJWrapper* jetFinder, const Int_t r, const Int_t type, const Int_t etaCut)
voidBookHistos()
voidCheckEventTriggerBit()
voidCheckExoticEvent()
voidCheckTPCOnlyVtx(const UInt_t trigger)
voidAliAnalysisTaskSE::ConnectMultiHandler()
voidAliAnalysisTask::DefineInput(Int_t islot, TClass* type)
voidAliAnalysisTask::DefineOutput(Int_t islot, TClass* type)
voidAliAnalysisTaskSE::DisconnectMultiHandler()
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidAliAnalysisTask::EnableBranch(Int_t islot, const char* bname) const
voidFillAODJets(TClonesArray* fJetArray, AliFJWrapper* jetFinder, const Bool_t isTruth = 0)
voidFindDetJets(const Int_t s = 0, const Int_t a = 0, const Int_t r = 0)
Int_tFindEnergyMatchedJet(AliFJWrapper* jetFinder1, const Int_t index1, AliFJWrapper* jetFinder2, const Double_t fraction = 0.5)
Int_tFindSpatialMatchedJet(fastjet::PseudoJet jet, AliFJWrapper* jetFinder, Double_t& dEta, Double_t& dPhi, Double_t maxR)
AliESDtrack*GetAcceptTrack(AliESDtrack* esdtrack)
char*AliAnalysisTask::GetBranchAddress(Int_t islot, const char* branch) const
Double_tGetClusterEnergyResolution(AliESDCaloCluster* cluster)
Int_tGetClusterSuperModule(AliESDCaloCluster* cluster)
voidGetESDEMCalClusters()
voidGetESDTrax()
Double_tGetExoticEnergyFraction(AliESDCaloCluster* cluster)
Double_tGetJetMissPtDueToTrackingEfficiency(const Int_t jetIndex, AliFJWrapper* jetFinder, const Int_t radiusIndex)
Double_tGetLeadingZ(const Int_t jetIndex, AliFJWrapper* jetFinder)
voidGetMCInfo()
Double_tGetMeasuredJetPtResolution(const Int_t jetIndex, AliFJWrapper* jetFinder)
Double_tGetOfflineTriggerProbability(AliESDCaloCluster* cluster)
Int_tGetParentParton(const Int_t ipart)
voidGetSecondaryPtFraction(TParticle* particle, Double_t& chPt, Double_t& reGenPt, Double_t& reRecPt)
Double_tGetSmearedTrackPt(AliESDtrack* track)
Double_tGetTrkEff(Double_t inPt)
Double_tGetZ(const Double_t trkPx, const Double_t trkPy, const Double_t trkPz, const Double_t jetPx, const Double_t jetPy, const Double_t jetPz) const
Bool_tHasPrimaryVertex() const
Bool_tIsElectron(AliESDtrack* track, Double_t clsE) const
Bool_tIsGoodCluster(AliESDCaloCluster* cluster)
Bool_tIsGoodJet(fastjet::PseudoJet jet, Double_t radius)
Bool_tIsGoodJet(AliAODJet* jet, Double_t radius)
Bool_tIsGoodMcPartilce(const AliVParticle* vParticle, const Int_t ipart)
Bool_tIsLEDEvent() const
Bool_tIsPrimaryVertexOk() const
Bool_tIsTPCOnlyVtx() const
voidTObject::MakeZombie()
TFile*AliAnalysisTask::OpenFile(Int_t iout, Option_t* option = "RECREATE") const
Bool_tAliAnalysisTask::PostData(Int_t iout, TObject* data, Option_t* option = "")
voidProcessMC(const Int_t r = 0)
voidRunAnalyzeUE(AliFJWrapper* jetFinder, const Int_t type, const Bool_t isMCTruth)
Int_tRunOfflineTrigger()
Bool_tAliAnalysisTask::SetBranchAddress(Int_t islot, const char* branch, void* address) const
Double_tSubtractClusterEnergy(AliESDCaloCluster* cluster, Double_t& eRes, Double_t& MIPE, Double_t& MCsubE)

Data Members

public:
enum { kTPCOnlyVtx
kTrigger
kHighZ
kSuspicious
kGluon
kQuark
kLeadCh
kHybrid
kTPCOnly
kGlobal
kNBins
kNRadii
};
enum AliAnalysisTask::EAnalysisTaskFlags { kTaskUsed
kTaskZombie
kTaskChecked
kTaskPostEventLoop
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
Bool_tTTask::fActivetrue if task is active
TStringAliAnalysisTask::fBranchNamesList of input branches that need to be loaded for this task
Int_tTTask::fBreakin=1 if a break point set at task extry
Int_tTTask::fBreakout=1 if a break point set at task exit
Int_tAliAnalysisTaskSE::fCurrentRunNumber! Current run number
Int_tAliAnalysisTaskSE::fDebugDebug flag
AliESDfriend*AliAnalysisTaskSE::fESDfriend! ESD friend
Int_tAliAnalysisTaskSE::fEntryCurrent entry in the chain
Bool_tTTask::fHasExecutedTrue if task has executed
TList*AliAnalysisTaskSE::fHistosQA! Output histos for QA
Bool_tAliAnalysisTask::fInitializedTrue if Init() was called
AliVEvent*AliAnalysisTaskSE::fInputEvent! VEvent Input
AliInputEventHandler*AliAnalysisTaskSE::fInputHandler! Input Handler
TObjArray*AliAnalysisTask::fInputsArray of input slots
AliMCEvent*AliAnalysisTaskSE::fMCEvent! MC
AliInputEventHandler*AliAnalysisTaskSE::fMCEventHandler! pointer to MCEventHandler
AliMultiInputEventHandler*AliAnalysisTaskSE::fMultiInputHandler! pointer to multihandler
TStringTNamed::fNameobject identifier
Int_tAliAnalysisTask::fNinputsNumber of inputs
Int_tAliAnalysisTask::fNoutputsNumber of outputs
UInt_tAliAnalysisTaskSE::fOfflineTriggerMaskTask processes collision candidates only
TStringTTask::fOptionOption specified in ExecuteTask
AliAODEvent*AliAnalysisTaskSE::fOutputAOD! AOD out
Bool_t*AliAnalysisTask::fOutputReady[fNoutputs] Flags for output readyness
TObjArray*AliAnalysisTask::fOutputsArray of output slots
TObject*AliAnalysisTask::fPublishedData! published data
Bool_tAliAnalysisTask::fReadyFlag if the task is ready
TList*TTask::fTasksList of Tasks
TStringTNamed::fTitleobject title
TTree*AliAnalysisTaskSE::fTreeAAOD output Tree
static TClonesArray*AliAnalysisTaskSE::fgAODCaloClusters! CaloClusters for replication
static TClonesArray*AliAnalysisTaskSE::fgAODDimuons! Dimuons replication
static AliAODCaloTrigger*AliAnalysisTaskSE::fgAODEMCALTrigger! Emcal Trigger for replication
static AliAODCaloCells*AliAnalysisTaskSE::fgAODEmcalCells! Emcal Cell replication
static TClonesArray*AliAnalysisTaskSE::fgAODFMDClusters! FMDClusters for replication
static AliAODHeader*AliAnalysisTaskSE::fgAODHeader! Header for replication
static TClonesArray*AliAnalysisTaskSE::fgAODHmpidRings! HMPID replication
static TClonesArray*AliAnalysisTaskSE::fgAODJets! Jets for replication
static TClonesArray*AliAnalysisTaskSE::fgAODMCParticles! MC Particles for replicatio
static AliAODCaloTrigger*AliAnalysisTaskSE::fgAODPHOSTrigger! Phos Trigger for replication
static TClonesArray*AliAnalysisTaskSE::fgAODPMDClusters! PMDClusters for replication
static AliAODCaloCells*AliAnalysisTaskSE::fgAODPhosCells! Phos Cell replication
static AliAODTracklets*AliAnalysisTaskSE::fgAODTracklets! Tracklets for replication
static TClonesArray*AliAnalysisTaskSE::fgAODTracks! Tracks for replication
static TClonesArray*AliAnalysisTaskSE::fgAODV0s! V0s for replication
static AliAODVZERO*AliAnalysisTaskSE::fgAODVZERO! VZERO for replication
static TClonesArray*AliAnalysisTaskSE::fgAODVertices! Vertices for replication
static TTask*TTask::fgBeginTaskpointer to task initiator
static TTask*TTask::fgBreakPointpointer to current break point
static AliTOFHeader*AliAnalysisTaskSE::fgTOFHeader! TOFHeader for replication
private:
AliAODEvent*fAOD! AOD object
TStringfAlgorithmname of algorithm
Int_tfAnaType0-local, 1-grid
Double_tfCentralityV0M for current event
Bool_tfChargedMCFlag to find only charged MC jets
Bool_tfCheckTPCOnlyVtxCheck events with TPC only vertices
Bool_tfCheckTriggerMaskFlag to check the trigger mask for triggered events
Bool_tfCheckTrkEffCorrCheck the procedure of tracking efficiency correction
Double_tfClsEtMax[2]Max et cut
Double_tfClsEtMin[2]Min et cut
TObjArray*fClusterArray! Array of input clusters
TF1*fClusterEResolution! Parameterization of cluster energy resolution from test beam results
Bool_tfConstrainChInEMCalConstain charged particle to be in EMCal acceptance
Double_tfCutdEtaVariation of dEta cut
Double_tfCutdPhiVariation of dPhi cut
AliFJWrapper*fDetJetFinder[3][2][3]! Jet finder
Int_tfEDSFileCounterKeep track of the ESD file inside a chain
AliESDEvent*fESD! ESD object
Bool_tfElectronRejectionSwitches on electron correction to avoid double counting of electrons
Double_tfEoverPMaxMax E/P cut
Double_tfEoverPMinMin E/P cut
AliESDtrackCuts*fEsdTrackCutsTrack cuts for good tracks
TH1F*fEventZ[2]! reconstructed event vertex z
Bool_tfFindChargedOnlyJetFind jets with TPC tracks
Bool_tfFindNeutralOnlyJetFind jets with EMCal clusters
Float_tfFractionHCfraction of hadronic correction
AliEMCALGeometry*fGeom! EMCal goemetry utility
Double_tfHCLowerPtCutMIPLower track pt cut for MIP correction
TH2F*fHCOverSubE[3][5]! Error made by hadronic correction assessed by using particle jet
TH2F*fHCOverSubEFrac[3][5]! Error made by hadronic correction assessed by using particle jet
Bool_tfHadronicCorrectionswitches on hadronic correction to avoid double counting of hadrons
AliESDtrackCuts*fHybridTrackCuts1Track cuts for tracks without SPD hit
AliESDtrackCuts*fHybridTrackCuts2Track cuts for tracks witout SPD hit or ITS refit
Bool_tfIsEventTriggerBitFlag of triggered events with valid trigger bit
Bool_tfIsExoticEvent3GeVFlag of events with exotic cluster above 3 GeV
Bool_tfIsExoticEvent5GeVFlag of events with exotic cluster above 5 GeV
Bool_tfIsMCFlag of MC data
Bool_tfIsTPCOnlyVtxFlag of events with ONLY TPC vertex
TH1F*fJetCount[3][3]! pT distribution of pions detected
THnSparse*fJetEnergyFraction[3][3]! Jet energy fraction
Double_tfJetNEFMaxMax jet NEF cut
Double_tfJetNEFMinMin jet NEF cut
THnSparse*fJetNPartFraction[3][3]! Jet NPart fraction
TClonesArray*fJetTCA[3][2][3]! TCA of jets: in - akt - r
Int_tfKinCutType0-cut on track before jet finding, 1-cut on jet with high-pt tracks
AliMCEvent*fMC! MC object
Int_tfMatchType0-extrapolation, 1-extrapolation + MC label
TArrayI*fMcPartArray! Array of MC particles
TClonesArray*fMcTruthAntikt[3]! TCA of MC truth anti-kt jets
Int_tfNTracksPerChunkNumber of tracks per ESD file; used for debugging
TF1*fNonLinear! Non-linearity correction functions for data
TStringfNonStdBranchNon-std branch name for AOD jets
TStringfNonStdFileName of optional file that the non-std branch is written to
Bool_tfOfflineTriggerRun offline trigger
TList*fOutputList! Output list
TStringfPeriodData period
Bool_tfPhySelForMCFlag to run physics selection in case of MC data
TStringfRadiusJet cone radius
TRandom3*fRandomGen! Random number generator
AliEMCALRecoUtils*fRecoUtil! Reco utility
Int_tfRecombinationSchemeRecombination scheme of jet finding
Bool_tfRejectExoticClusterFlag to reject exotic cluster
Bool_tfRejectExoticTriggerFlag to reject events triggered by exotic clusters
Bool_tfRejectNKReject neutron and K_L
Bool_tfRejectPileupFlag to reject SPD pileup events
Bool_tfRejectWDReject primaries, mainly k^0_S, that decay weakly
TH3F*fRelTrkCon[2][3]! Jet pt vs track pt contribution vs track class
Bool_tfRemoveBadChannelFlag to remove problematic region in SM4
Bool_tfRunSecondariesRun analysise for secondary particles
Bool_tfRunUERun analysis of underlying event
Bool_tfSaveQAHistosFlag of saving QA histograms
Bool_tfSmearMCFlag of smearing tracking resolution in MC to match data. Obselete.
Bool_tfSpotGoodJetGood jet catching
AliStack*fStack! MC stack
Bool_tfStudyMcOverSubEStudy the over-subtraction of hadronic correction in simualtion.
Bool_tfStudySubEInHCIf true, the hadronic correction will be ingored. For physics, it should be set to kFALSE
Bool_tfSysClusterEResFlag of systematic uncertainty of EMCal energy resolution
Bool_tfSysClusterEScaleFlag of systematic uncertainty of EMCal energy scale
Bool_tfSysClusterizerFlag of systematic uncertainty on clusterizer
Bool_tfSysJetTrigEffFlag of systematic uncertainty of jet trigger efficiency
Bool_tfSysNonLinearityFlag of systematic uncertainty of EMCal non-linearity
Bool_tfSysTrkClsMthFlag of systematic uncertainty of track-cluster matching
Bool_tfSysTrkEffFlag of systematic uncertainty of tracking efficiency
Bool_tfSysTrkPtResFlag of systematic uncertainty of tracking momentum resolution
TObjArray*fTrackArray! Array of input tracks
Int_tfTrackCutsType0-Global track, 1-TPCOnly track
TH1D*fTriggerCurve[10]! Trigger turn-on curves of EMCal clusters
TF1*fTriggerEfficiency[10]! Fit of trigger turn-on curves for EMCal clusters above 4-5 GeV
TH2F*fTriggerMask! Offline trigger mask
Int_tfTriggerType0-MB, 1-EMC
Double_tfTrkEffCorrCutZCut on the tracks that are added back Z < 0.3
TF1*fTrkEffFunc[3]! Fit function of tracking efficiency
Double_tfTrkEtaMaxMax |eta| cut
Double_tfTrkPtMax[2]Max pt cut
Double_tfTrkPtMin[2]Min pt cut
TF1*fTrkPtResData! Parameterazation of momentum resolution estimated from data
AliFJWrapper*fTrueJetFinder[3]! Jet finder for particle jets
Bool_tfUseGoodSMFlag to not use trigger bit in SM2,3,4,5
Double_tfVaryClusterEResVariation of EMCal energy resolution
Double_tfVaryClusterEScaleVariation of EMCal energy scale
Double_tfVaryJetTrigEffVariation of cluster E-scale for systematic uncertainty of jet trigger efficiency
Double_tfVaryTrkEffVariation of tracking efficiency
Double_tfVaryTrkPtResVariation of tracking momentum resolution
Int_tfVerbosityControl output
TH1F*fVertexGenZ[2]! Generated event vertex z
Float_tfXsecScaleCorss section for each pT hard bin
Double_tfZVtxMaxMax vertex z cut
Double_tfdEdxMaxMax dE/dx cut
Double_tfdEdxMinMin dE/dx cut
TH2F*fhChLeadZVsJetPt[2][3]! Leading charged constituent Z vs jet pt
TH2F*fhChargedPtInJet[3][3]! pt of charged constituents in jet
TH1F*fhChunkQA! Check if the chunk is corrupted
TH1F*fhClsE[2]! Cluster energy distribution
TH1F*fhCorrTrkEffPtBin[2][3]! Number of tracks per jet pt bin, used to correct the tracking efficiency explicitly
TH1F*fhCorrTrkEffSample[2][3][20]! Tracking efficiency estimated from simulation
TH1F*fhEventStatTPCVtx! Event counts for TPC only vertices
TH3F*fhFcrossVsZleading[2][3]! Jet pt vs Fcross vs Zleading
TH2F*fhHCTrkPtAmbig[2][3][5]! Ambiguously subtracted charged pt
TH2F*fhHCTrkPtClean[2][3][5]! Cleanly subtracted charged pt
TH1F*fhJetEventCount! Event counts to keep track of rejection criteria
TH1F*fhJetEventStat! Event counts used for jet analysis
TH3F*fhJetInTPCOnlyVtx[2][3]! Jets in full TPC acceptance in events with TPC only vertex
TH1F*fhJetPtInExoticEvent[2][3]! Jet pt in exotic events
TH2F*fhJetPtVsLowPtCons[2][3][2]! Contribution of low pt particles to jet energy
TH3F*fhJetPtVsZ[3][3]! Jet pt vs constituent Z vs constituent type
TH2F*fhJetPtWithClsThres[2][3]! pt of jets containing clusters above certian threshold
TH2F*fhJetPtWithTrkThres[2][3]! pt of jets containing tracks above certian threshold
TH2F*fhJetResolutionNK[2][3]! Jet resolution due to missing neutron and K0L using response matrix
TH3F*fhJetResolutionNKSM[2][3]! Jet resolution due to missing neutron and K0L via matching
TH2F*fhJetResolutionWP[2][3]! Jet resolution due to missing weakly decayed particles using response matrix
TH3F*fhJetResolutionWPSM[2][3]! Jet resolution due to missing weakly decayed particles via matching
TH2F*fhJetResponseNK[2][3]! Jet response due to missing neutron and K0L using response matrix
TH2F*fhJetResponseNKSM[2][3]! Jet response due to missing neutron and K0L via matching
TH2F*fhJetResponseWP[2][3]! Jet response due to missing weakly decayed particles using response matrix
TH2F*fhJetResponseWPSM[2][3]! Jet response due to missing weakly decayed particles via matching
TH2F*fhLeadChPtInJet[3][3]! pt of leading charged constituents in jet
TH2F*fhLeadNePtInJet[3][3]! pt of leading neutral constituents in jet
TH2F*fhNKFracVsJetPt[2][3]! Energy fraction lost due to missing neutron and K0L
TH1F*fhNMatchedTrack[2]! # of matched tracks per cluster
TH1F*fhNTrials[2]! # of trials
TH2F*fhNeutralPtInJet[3][3]! pt of neutral constituents in jet
TH2F*fhSecondaryResponse[3]! Response matrix for secondary particles
TH2F*fhSubClsEVsJetPt[2][3][5]! f*subtracted cluster energy vs jet pt
TH2F*fhSubEVsTrkPt[2][4]! Subtracted energy due to hadronic correction
TH1F*fhSysClusterE[2][2]! Cluster energy distribution before and after hadonic correction
TH2F*fhSysNCellVsClsE[2][2]! NCell vs cluster energy before and after hadonic correction
TH2F*fhTrigNeuPtInJet[3][3]! pt of neutral constituents in jet
TH1F*fhUEJetPtNorm[3][2][2]! Leading jet normalization
TH2F*fhUEJetPtVsConsPt[3][2][2]! Leading jet pt vs constituent pt in underlying event
TH2F*fhUEJetPtVsSumPt[3][2][2]! Leading jet pt vs underlying event pt
TH2F*fhWeakFracVsJetPt[2][3]! Energy fraction lost due to weakly decaying particles

Class Charts

Inheritance Chart:
TTask
AliAnalysisTask
AliAnalysisTaskSE
AliAnalysisTaskFullppJet

Function documentation

AliAnalysisTaskFullppJet()
 Constructor
AliAnalysisTaskFullppJet(const char* name)
 Constructor
~AliAnalysisTaskFullppJet()
Destructor
Bool_t Notify()
 Fill the number of tracks per chunk

void UserCreateOutputObjects()
 Create histograms
 Called once

void BookHistos()
 Book histograms.
void UserExec(Option_t* option)
 Main loop, called for each event.

void FindDetJets(const Int_t s = 0, const Int_t a = 0, const Int_t r = 0)
 Jet finding is happening here

void FillAODJets(TClonesArray* fJetArray, AliFJWrapper* jetFinder, const Bool_t isTruth = 0)
 Fill the found jets into AOD output
 Only consider jets pointing to EMCal and with pt above 1GeV/c

Int_t GetParentParton(const Int_t ipart)
 Find the parent parton for a given MC particle by tracing back the parent
 DUMMY; NEED improvement
Bool_t IsGoodJet(fastjet::PseudoJet jet, Double_t radius)
 Check if the jet pt and direction fulfill the requirement

void ProcessMC(const Int_t r = 0)
 Main function for jet finding in MC

void AnalyzeJets(AliFJWrapper* jetFinder, const Int_t type, const Int_t r)
 Fill all the QA plots for jets
 Especailly all the constituents plot must be filled here since the information
 is not available in the output AOD
void AnalyzeSecondaryContribution(AliFJWrapper* jetFinder, const Int_t r, const Int_t etaCut)
 Analyze secondaries

void AnalyzeSecondaryContributionViaMatching(AliFJWrapper* jetFinder, const Int_t r, const Int_t type, const Int_t etaCut)
 Estimate the contribution of missing energies via matching
 type = 0 -> NK
 type = 1 -> WP

void RunAnalyzeUE(AliFJWrapper* jetFinder, const Int_t type, const Bool_t isMCTruth)
 Run analysis to estimate the underlying event
 Adapted from Oliver
Bool_t IsGoodJet(AliAODJet* jet, Double_t radius)
 Check if it is a good jet

Double_t GetLeadingZ(const Int_t jetIndex, AliFJWrapper* jetFinder)
 Get the leading z of the input jet

Double_t GetZ(const Double_t trkPx, const Double_t trkPy, const Double_t trkPz, const Double_t jetPx, const Double_t jetPy, const Double_t jetPz) const
 Get the z of a constituent inside of a jet

Double_t GetMeasuredJetPtResolution(const Int_t jetIndex, AliFJWrapper* jetFinder)
 Get jet energy resoultion due to intrinsic detector effects

Double_t GetJetMissPtDueToTrackingEfficiency(const Int_t jetIndex, AliFJWrapper* jetFinder, const Int_t radiusIndex)
 Correct the tracking inefficiency explicitly

Bool_t IsGoodMcPartilce(const AliVParticle* vParticle, const Int_t ipart)
 Select good primary particles to feed into jet finder

Int_t FindSpatialMatchedJet(fastjet::PseudoJet jet, AliFJWrapper* jetFinder, Double_t& dEta, Double_t& dPhi, Double_t maxR)
 Find spatially matched detector and particle jets

Int_t FindEnergyMatchedJet(AliFJWrapper* jetFinder1, const Int_t index1, AliFJWrapper* jetFinder2, const Double_t fraction = 0.5)
 Find matched detector and particle jets based on shared constituents

void GetESDTrax()
 Get esd tracks.

AliESDtrack * GetAcceptTrack(AliESDtrack* esdtrack)
 Get the hybrid tracks

void GetESDEMCalClusters()
 Get emcal clusters - selected

Bool_t IsGoodCluster(AliESDCaloCluster* cluster)
 Select good clusters

Double_t SubtractClusterEnergy(AliESDCaloCluster* cluster, Double_t& eRes, Double_t& MIPE, Double_t& MCsubE)
 Hadronic correction

Double_t GetExoticEnergyFraction(AliESDCaloCluster* cluster)
 Exotic fraction: f_cross
 Adpated from AliEMCalRecoUtils
void GetMCInfo()
 Get # of trials per ESD event

void Terminate(Option_t* )
 Called once at the end of the query

Int_t RunOfflineTrigger()
 Run trigger offline

Double_t GetOfflineTriggerProbability(AliESDCaloCluster* cluster)
 Get the probablity of the given cluster to trigger the event

Int_t GetClusterSuperModule(AliESDCaloCluster* cluster)
 Return the given cluster supermodule

Bool_t IsElectron(AliESDtrack* track, Double_t clsE) const
 Check if the given track is an electron candidate based on de/dx

Double_t GetTrkEff(Double_t inPt)
 Get tracking efficiency estimated from simulation

Double_t GetSmearedTrackPt(AliESDtrack* track)
 Smear track momentum

void CheckEventTriggerBit()
 Check if the triggered events have correct trigger bit

void PrintConfig()
 Print configuration

void CheckExoticEvent()
 Check if the event containts exotic clusters

Bool_t HasPrimaryVertex() const
 Check if the primary vertex exists

Bool_t IsPrimaryVertexOk() const
 Check if the event vertex is good

Bool_t IsTPCOnlyVtx() const
 Check if the event only has valid TPC vertex

void CheckTPCOnlyVtx(const UInt_t trigger)
 Check the fraction of accepted events that have only TPC vertex

Bool_t IsLEDEvent() const
 Check if the event is contaminated by LED signal

AliAnalysisTaskFullppJet()
void SetAnaType(Int_t ana)
{ fAnaType=ana; }
void SetMCAna(Bool_t mc)
{ fIsMC=mc; }
void SetPhySelForMC(Bool_t phy)
{ fPhySelForMC=phy; }
void SetChargedMC(Bool_t mc)
{ fChargedMC=mc; }
void SetRejectSPDPileup(Bool_t re)
void SetRejectExoticTrigger(Bool_t re)
void SetCheckTriggerMask(Bool_t check)
void SetRunPeriod(char* p)
{ fPeriod=p; }
void SetOfflineTrigger(Bool_t t)
void SetXsec(Float_t Xsec)
{ fXsecScale=Xsec; }
void SetConstrainChargedInEMCal(Bool_t con)
void SetRejectNK(Bool_t reject)
{ fRejectNK=reject; }
void SetRejectWD(Bool_t reject)
{ fRejectWD=reject; }
void SetVerbosity(Int_t v)
{ fVerbosity = v; }
void SetTrackCutsType(Int_t type)
{ fTrackCutsType = type; }
void SetEsdTrackCuts(AliESDtrackCuts* cuts)
{ fEsdTrackCuts=cuts; }
void SetHybridTrackCuts1(AliESDtrackCuts* cuts)
void SetHybridTrackCuts2(AliESDtrackCuts* cuts)
void SetKinCutType(Int_t type)
{ fKinCutType = type; }
void SetZvtx(Double_t zvtx)
{ fZVtxMax = zvtx; }
void SetEtaMax(Double_t eta)
{ fTrkEtaMax = eta; }
void SetdEdxRange(Double_t min, Double_t max)
{ fdEdxMin=min; fdEdxMax=max; }
void SetEoverPRange(Double_t min, Double_t max)
{ fEoverPMin=min; fEoverPMax=max; }
void SetMatchType(Int_t type)
{ fMatchType=type; }
void SetRejectExoticCluster(Bool_t reject)
void SetRemoveProblematicSM4(Bool_t remove)
{ fRemoveBadChannel=remove; }
void SetUseGoodSM(Bool_t good)
{ fUseGoodSM=good; }
void SetStudySubEInHC(Bool_t study)
{ fStudySubEInHC=study; }
void SetStudyMcOverSubE(Bool_t study)
{ fStudyMcOverSubE=study; }
void SetRejectElectron(Bool_t reject)
{ fElectronRejection=reject; }
void SetCorrectHadron(Bool_t correct)
{ fHadronicCorrection=correct; }
void SetHCFraction(Float_t fraction)
{ fFractionHC=fraction; }
void SetHCLowerPtCutMIP(Double_t pt)
void SetNonStdBranch(char* name)
{ fNonStdBranch=name; }
void SetNonStdFile(char* name)
{ fNonStdBranch=name; }
void SetAlgorithm(char* algo)
{ fAlgorithm=algo; }
void SetRadius(char* r)
{ fRadius=r; }
void SetRecombinationScheme(Int_t scheme)
void SetSpotGoodJet(Bool_t spot)
{ fSpotGoodJet=spot; }
void SetFindChargedOnlyJet(Bool_t ch)
void SetFindNeutralOnlyJet(Bool_t ne)
void SetCheckTrkEffCorr(Bool_t check)
{ fCheckTrkEffCorr=check; }
void SetTrkEffCorrCutZ(Double_t zcut)
{ fTrkEffCorrCutZ=zcut; }
void SetSmearMC(Double_t smear)
{ fSmearMC=smear; }
void SetRunUE(Bool_t run)
{ fRunUE=run; }
void SetCheckTPCOnlyVtx(Bool_t check)
{ fCheckTPCOnlyVtx=check; }
void SetRunSecondaries(Bool_t run)
void SetPtRange(Double_t minMB, Double_t maxMB, Double_t minHT, Double_t maxHT)
 Kinematic cut

{ fTrkPtMin[0]=minMB; fTrkPtMax[0]=maxMB; fTrkPtMin[1]=minHT; fTrkPtMax[1]=maxHT; }
void SetEtRange(Double_t minMB, Double_t maxMB, Double_t minHT, Double_t maxHT)
{ fClsEtMin[0]=minMB; fClsEtMax[0]=maxMB; fClsEtMin[1]=minHT; fClsEtMax[1]=maxHT; }
void SetJetNEFCut(Double_t min, Double_t max)
 Jet quality cut

{ fJetNEFMin=min; fJetNEFMax=max; }
void SetSaveQAHistos(Bool_t save)
 Systematic study

{ fSaveQAHistos=save; }
void SetSysJetTrigEff(Bool_t sys)
void SetVaryJetTrigEff(Double_t vary)
{ fVaryJetTrigEff=vary; }
void SetSysTrkPtRes(Bool_t sys)
{ fSysTrkPtRes=sys; }
void SetVaryTrkPtRes(Double_t vary)
{ fVaryTrkPtRes=vary; }
void SetSysTrkEff(Bool_t sys)
{ fSysTrkEff=sys; }
void SetVaryTrkEff(Double_t vary)
{ fVaryTrkEff=vary; }
void SetSysTrkClsMth(Bool_t sys)
{ fSysTrkClsMth=sys; }
void SetSysTrkClsCut(Double_t deta, Double_t dphi)
{ fCutdEta=deta; fCutdPhi=dphi; }
void SetSysNonLinearity(Bool_t sys)
void SetSysClusterEScale(Bool_t sys)
void SetVaryClusterEScale(Double_t vary)
void SetSysClusterERes(Bool_t sys)
void SetVaryClusterERes(Double_t vary)
void SetSysClusterizer(Bool_t sys)
Double_t GetClusterEnergyResolution(AliESDCaloCluster* cluster)
void GetSecondaryPtFraction(TParticle* particle, Double_t& chPt, Double_t& reGenPt, Double_t& reRecPt)
AliAnalysisTaskFullppJet & operator=(const AliAnalysisTaskFullppJet& )