ROOT logo
AliRoot » PWGJE » AliPWG4HighPtQAMC

class AliPWG4HighPtQAMC: public AliAnalysisTask

 This class compares the global reconstruction with the MC information
 Momentum resolution is stored as function of track cuts and pt.
 Output: Histograms for different set of cuts

 Author : Marta Verweij - UU

Function Members (Methods)

public:
AliPWG4HighPtQAMC()
AliPWG4HighPtQAMC(const char* name)
virtual~AliPWG4HighPtQAMC()
virtual voidTTask::Abort()MENU
voidTObject::AbstractMethod(const char* method) const
virtual voidTTask::Add(TTask* task)
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 voidConnectInputData(Option_t*)
Bool_tAliAnalysisTask::ConnectOutput(Int_t islot, AliAnalysisDataContainer* cont)
virtual voidTTask::Continue()MENU
virtual voidTNamed::Copy(TObject& named) const
virtual voidCreateOutputObjects()
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 voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidExec(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 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
Float_tGetPtMax()
TObject*AliAnalysisTask::GetPublishedData() const
static AliGenPythiaEventHeader*GetPythiaEventHeader(AliMCEvent* mcEvent)
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 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_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
Bool_tAliAnalysisTask::IsUsed() const
Bool_tAliAnalysisTask::IsZombie() const
virtual voidAliAnalysisTask::LocalInit()
virtual voidTTask::ls(Option_t* option = "*") constMENU
voidTObject::MayNotUse(const char* method) const
virtual Bool_tNotify()
virtual Bool_tAliAnalysisTask::NotifyBinChange()
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 voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
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
static Bool_tPythiaInfoFromFile(const char* currFile, Float_t& fXsec, Float_t& fTrials)
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 = "")
Bool_tSelectEvent()
voidTTask::SetActive(Bool_t active = kTRUE)TOGGLE
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
voidAliAnalysisTask::SetChecked(Bool_t flag = kTRUE)
voidSetCuts(AliESDtrackCuts* trackCuts)
voidSetCutsReject(AliESDtrackCuts* trackCuts)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
voidAliAnalysisTask::SetPostEventLoop(Bool_t flag = kTRUE)
voidSetPtBinEdges(Int_t region, Double_t ptmax, Double_t ptBinWidth)
voidSetPtMax(Float_t ptmax)
voidSetSigmaConstrainedMax(Double_t sigma)
virtual voidTNamed::SetTitle(const char* title = "")MENU
voidSetTrackType(Int_t trackType)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidAliAnalysisTask::SetUsed(Bool_t flag = kTRUE)
voidAliAnalysisTask::SetZombie(Bool_t flag = kTRUE)
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 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:
voidAliAnalysisTask::DefineInput(Int_t islot, TClass* type)
voidAliAnalysisTask::DefineOutput(Int_t islot, TClass* type)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidAliAnalysisTask::EnableBranch(Int_t islot, const char* bname) const
char*AliAnalysisTask::GetBranchAddress(Int_t islot, const char* branch) 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 = "")
Bool_tAliAnalysisTask::SetBranchAddress(Int_t islot, const char* branch, void* address) const

Data Members

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
Bool_tTTask::fHasExecutedTrue if task has executed
Bool_tAliAnalysisTask::fInitializedTrue if Init() was called
TObjArray*AliAnalysisTask::fInputsArray of input slots
TStringTNamed::fNameobject identifier
Int_tAliAnalysisTask::fNinputsNumber of inputs
Int_tAliAnalysisTask::fNoutputsNumber of outputs
TStringTTask::fOptionOption specified in ExecuteTask
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
static TTask*TTask::fgBeginTaskpointer to task initiator
static TTask*TTask::fgBreakPointpointer to current break point
private:
Float_tfAvgTrialsAverage number of trials
TH2F*fDeltaPtMultRec! Delta pT versus pT of first track for multiple reconstructed tracks
AliESDEvent*fESD! ESD object
TList*fHistList! List of Histograms
AliMCEvent*fMC! MC event object
TH1F*fMultRec! Bookkeeping of multiple times reconstructed tracks
TH1F*fNEventAll! Event counter
TH1F*fNEventReject! Book keeping of reason of rejecting events
TH1F*fNEventSel! Event counter
TH1F*fNPointTPCFakes! NTPCCluster of fake tracks
TH1F*fNPointTPCMultRec! NTPCClusters of multiple reconstructed tracks
TH1F*fPtAll! Pt spectrum all charged particles
TH1F*fPtAllMC! Pt spectrum all charged particles
TH2F*fPtAllminPtMCvsPtAll! Momentum resolution (global vs MC) as function of pTrec
TH3F*fPtAllminPtMCvsPtAllChi2C! Momentum resolution vs Chi2Constrained
TH3F*fPtAllminPtMCvsPtAllChi2TPC! Momentum resolution vs Chi2TPC
TH3F*fPtAllminPtMCvsPtAllChi2TPCIter1! Momentum resolution vs Chi2TPC Iter1
TH3F*fPtAllminPtMCvsPtAllDCAR! Momentum resolution vs DCAR
TH3F*fPtAllminPtMCvsPtAllDCAZ! Momentum resolution vs DCAZ
TH3F*fPtAllminPtMCvsPtAllNPointITS! Momentum resolution vs NPointITS
TH3F*fPtAllminPtMCvsPtAllNPointTPC! Momentum resolution vs NPointTPC
TH3F*fPtAllminPtMCvsPtAllNPointTPCIter1! Momentum resolution vs NPointTPC Iter1
TH3F*fPtAllminPtMCvsPtAllNSigmaToVertex! Momentum resolution vs NSigmaToVertes
TH3F*fPtAllminPtMCvsPtAllPhi! Momentum resolution vs Phi
TH3F*fPtAllminPtMCvsPtAllRel1PtUncertainty! Momentum resolution vs relUncertainty1Pt
TH3F*fPtAllminPtMCvsPtAllvsMult! Momentum resolution (global vs MC) vs multiplicity
TH2F*fPtAllminPtMCvsPtMC! Momentum resolution (global vs MC) as function of pTMC
TH2F*fPtAllvsPtMC! Reconstructed momentum vs generated momentum
TH3F*fPtAllvsPtMCvsMult! Reconstructed momentum vs generated momentum vs multiplicity
Float_tfPtBinEdges[3][2]3 regions total with different binning for pT axis of histos
Float_tfPtMaxMaximum pT for histograms
TH1F*fPtSel! Pt spectrum all selected charged particles by fTrackCuts
TH1F*fPtSelFakes! Pt distributions for tracks with negative label (=fake tracks)
TH1F*fPtSelLargeLabel! Filled if label is larger than nMCtracks
TH1F*fPtSelMC! Pt spectrum all selected charged particles by fTrackCuts
Double_tfSigmaConstrainedMaxmax sigma on constrained fit
AliStack*fStack! stack object
AliESDtrackCuts*fTrackCutsTrackCuts for global reconstructed vs MC comparison
AliESDtrackCuts*fTrackCutsRejecttrackCuts to reject tracks (hybrid case)
Int_tfTrackType0: global track; 1:TPConly track 2: TPConly constrained track 3: global ITSrefit
const AliESDVertex*fVtx! vertex object
TH1F*fh1PtHard! pt hard of the event
TH1F*fh1PtHardTrials! pt hard of the event
TH1F*fh1Trials! trials which are added
TProfile*fh1Xsec! pythia cross section and trials

Class Charts

Inheritance Chart:
TTask
AliAnalysisTask
AliPWG4HighPtQAMC

Function documentation

AliPWG4HighPtQAMC()
AliPWG4HighPtQAMC(const char* name)
 Constructor. Initialization of Inputs and Outputs

void SetPtBinEdges(Int_t region, Double_t ptmax, Double_t ptBinWidth)
void ConnectInputData(Option_t* )
 Connect ESD and MC event handler here
 Called once
void CreateOutputObjects()
Create output objects
Bool_t SelectEvent()
 Decide if event should be selected for analysis

void Exec(Option_t* option)
 Main loop
 Called for each event
Bool_t PythiaInfoFromFile(const char* currFile, Float_t& fXsec, Float_t& fTrials)
 get the cross section and the trails either from pyxsec.root or from pysec_hists.root
 This is to called in Notify and should provide the path to the AOD/ESD file
 Copied from AliAnalysisTaskJetSpectrum2

Bool_t Notify()
 Implemented Notify() to read the cross sections
 and number of trials from pyxsec.root
 Copied from AliAnalysisTaskJetSpectrum2

AliGenPythiaEventHeader* GetPythiaEventHeader(AliMCEvent* mcEvent)
void Terminate(Option_t* )
 The Terminate() function is the last function to be called during
 a query. It always runs on the client, it can be used to present
 the results graphically or save the results to file.
AliPWG4HighPtQAMC()
~AliPWG4HighPtQAMC()
{;}
void SetCuts(AliESDtrackCuts* trackCuts)
{fTrackCuts = trackCuts;}
void SetCutsReject(AliESDtrackCuts* trackCuts)
{fTrackCutsReject = trackCuts;}
void SetTrackType(Int_t trackType)
{fTrackType = trackType;}
void SetSigmaConstrainedMax(Double_t sigma)
void SetPtMax(Float_t ptmax)
{fPtMax = ptmax;}
Float_t GetPtMax()
{return fPtMax;}
AliPWG4HighPtQAMC& operator=(const AliPWG4HighPtQAMC& )