ROOT logo
AliRoot » PWGPP » MUON » DEP » AliAnalysisTaskMuonPerformance

class AliAnalysisTaskMuonPerformance: public AliAnalysisTaskSE

 \class AliAnalysisTaskMuonPerformance
 Analysis task to chek the tracker and trigger reconstruction
 The output is a list of histograms.

 \author Diego Stocco and Philippe Pillot

Function Members (Methods)

public:
AliAnalysisTaskMuonPerformance()
AliAnalysisTaskMuonPerformance(const char* name)
virtual~AliAnalysisTaskMuonPerformance()
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
voidCorrectClusterResForSystematics(Bool_t flag = kTRUE)
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
voidEnforceTrackingCriteria(Bool_t flag = kTRUE)
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()
voidFitClusterResiduals(Bool_t flag = kTRUE)
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_tAliAnalysisTaskSE::Notify()
virtual Bool_tAliAnalysisTask::NotifyBinChange()
virtual voidNotifyRun()
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
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
voidSetAlignStorage(const char* ocdbPath)
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)
virtual voidAliAnalysisTaskSE::SetDebugLevel(Int_t level)
voidSetDefaultStorage(const char* ocdbPath)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetMCTrigLevelFromMatchTrk(Bool_t flag = kTRUE)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetPBins(Int_t nBins, Double_t pMin, Double_t pMax)
voidAliAnalysisTask::SetPostEventLoop(Bool_t flag = kTRUE)
voidSetRecoParamStorage(const char* ocdbPath)
virtual voidTNamed::SetTitle(const char* title = "")MENU
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* option)
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
voidUseMCKinematics(Bool_t flag = kTRUE)
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:
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
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
private:
AliAnalysisTaskMuonPerformance(const AliAnalysisTaskMuonPerformance&)
TCanvas*DrawFitLandauGausResPVsP(const char* name, const char* title, TH2* h, const Int_t nBins, const char* fitting)
TCanvas*DrawResPVsP(const char* name, const char* title, TH2* h, const Int_t nBins)
TCanvas*DrawVsAng(const char* name, const char* title, TH1* h1, TH2* h2)
TCanvas*DrawVsPos(const char* name, const char* title, TH2* h1, TH2* h2, TH2* h3)
voidFillContainerInfoMC(Double_t* containerInput, AliMCParticle* mcPart)
voidFillContainerInfoReco(Double_t* containerInput, AliESDMuonTrack* esdTrack, Bool_t isValid, Int_t mcID)
voidFillEffHistos(AliCFEffGrid* efficiency, const char* suffix, TObjArray* list)
voidFitClusterResidual(TH1* h, Int_t i, Double_t& sigma, TGraphErrors* gMean, TGraphErrors* gSigma)
voidFitGausResVsMom(TH2* h, const Double_t mean0, const Double_t sigma0, const char* fitting, TGraphAsymmErrors* gMean, TGraphAsymmErrors* gSigma)
voidFitLandauGausResVsP(TH2* h, const char* fitting, TGraphAsymmErrors* gMean, TGraphAsymmErrors* gMostProb, TGraphAsymmErrors* gSigma)
voidFitPDCAVsMom(TH2* h, const char* fitting, TGraphAsymmErrors* gMean, TGraphAsymmErrors* gSigma)
Float_tGetBinThetaAbsEnd(Float_t RAtAbsEnd, Bool_t isTheta = kFALSE)
Bool_tGetEfficiency(AliCFEffGrid* efficiency, Double_t& calcEff, Double_t& calcEffErr)
AliAnalysisTaskMuonPerformance&operator=(const AliAnalysisTaskMuonPerformance&)
Int_tRecoTrackMother(AliMCParticle* mcParticle)
voidZoom(TH1* h, Double_t fractionCut = 0.01)

Data Members

public:
enum { kVarPt
kVarEta
kVarPhi
kVarThetaZones
kVarCharge
kVarHasTracker
kVarTrigger
kVarMotherType
kVarMatchMC
kVarMCTrigger
kVarCent
kVarDupliTrg
kNvars
kStepReconstructed
kStepGeneratedMC
kNsteps
kNoMatchTrig
kOtherTrig
kAllPtTrig
kLowPtTrig
kHighPtTrig
kNtrigCuts
kCharmMu
kBeautyMu
kPrimaryMu
kSecondaryMu
kRecoHadron
kUnknownPart
kNtrackSources
kNoMatch
kTrackerOnly
kMatchedSame
kMatchedDiff
kTriggerOnly
kNMatchMC
kResTrigX11
kResTrigY11
kResTrigSlopeY
kResPAtVtx
kResPAtVtxVsP
kResPAtVtxVsPIn23deg
kResPAtVtxVsPIn310deg
kResPAtVtxVsPIn02degMC
kResPAtVtxVsPosAbsEndIn02degMC
kResPAtVtxVsPosAbsEndIn23degMC
kResPAtVtxVsPosAbsEndIn310degMC
kResPAtVtxVsAngleAtAbsEnd
kResPAtVtxVsMCAngle
kResPAtVtxVsAngleAtAbsEndVsP
kResPtAtVtxVsPt
kResPAt1stCl
kResPAt1stClVsP
kResPtAt1stClVsPt
kResSlopeXAtVtx
kResSlopeYAtVtx
kResSlopeXAtVtxVsP
kResSlopeYAtVtxVsP
kResSlopeXAtVtxVsPosAbsEndIn02degMC
kResSlopeYAtVtxVsPosAbsEndIn02degMC
kResSlopeXAtVtxVsPosAbsEndIn23degMC
kResSlopeYAtVtxVsPosAbsEndIn23degMC
kResSlopeXAtVtxVsPosAbsEndIn310degMC
kResSlopeYAtVtxVsPosAbsEndIn310degMC
kResSlopeXAtVtxVsAngleAtAbsEnd
kResSlopeYAtVtxVsAngleAtAbsEnd
kResSlopeXAtVtxVsMCAngle
kResSlopeYAtVtxVsMCAngle
kResSlopeXAt1stCl
kResSlopeYAt1stCl
kResSlopeXAt1stClVsP
kResSlopeYAt1stClVsP
kResEtaAtVtx
kResEtaAtVtxVsP
kResEtaAtVtxVsPosAbsEndIn02degMC
kResEtaAtVtxVsPosAbsEndIn23degMC
kResEtaAtVtxVsPosAbsEndIn310degMC
kResEtaAtVtxVsAngleAtAbsEnd
kResEtaAtVtxVsMCAngle
kResPhiAtVtx
kResPhiAtVtxVsP
kResPhiAtVtxVsPosAbsEndIn02degMC
kResPhiAtVtxVsPosAbsEndIn23degMC
kResPhiAtVtxVsPosAbsEndIn310degMC
kResPhiAtVtxVsAngleAtAbsEnd
kResPhiAtVtxVsMCAngle
kPDCA
kPDCAVsPIn23deg
kPDCAVsPIn310deg
kPDCAVsPosAbsEndIn02degMC
kPDCAVsPosAbsEndIn23degMC
kPDCAVsPosAbsEndIn310degMC
kPDCAVsAngleAtAbsEnd
kPDCAVsMCAngle
kPMCSAngVsPIn23deg
kPMCSAngVsPIn310deg
kResClXVsCh
kResClYVsCh
kResClXVsDE
kResClYVsDE
kMeanResPAtVtxVsP
kMostProbResPAtVtxVsP
kSigmaResPAtVtxVsP
kcResPAtVtx
kcResPAtVtxMC
kcResPAtVtxVsPosAbsEndMC
kcResPAtVtxVsPIn23deg
kcResPAtVtxVsPIn310deg
kcResPAtVtxVsPIn02degMC
kMeanResPAt1stClVsP
kSigmaResPAt1stClVsP
kMeanResSlopeXAtVtxVsP
kMeanResSlopeYAtVtxVsP
kSigmaResSlopeXAtVtxVsP
kSigmaResSlopeYAtVtxVsP
kcResSlopeXAtVtx
kcResSlopeYAtVtx
kcResSlopeXAtVtxMC
kcResSlopeYAtVtxMC
kcResSlopeXAtVtxVsPosAbsEndMC
kcResSlopeYAtVtxVsPosAbsEndMC
kMeanResSlopeXAt1stClVsP
kMeanResSlopeYAt1stClVsP
kSigmaResSlopeXAt1stClVsP
kSigmaResSlopeYAt1stClVsP
kMeanResEtaAtVtxVsP
kSigmaResEtaAtVtxVsP
kcResEtaAtVtx
kcResEtaAtVtxMC
kcResEtaAtVtxVsPosAbsEndMC
kMeanResPhiAtVtxVsP
kSigmaResPhiAtVtxVsP
kcResPhiAtVtx
kcResPhiAtVtxMC
kcResPhiAtVtxVsPosAbsEndMC
kMeanPDCAVsPIn23deg
kSigmaPDCAVsPIn23deg
kMeanPDCAVsPIn310deg
kSigmaPDCAVsPIn310deg
kMeanPMCSAngVsPIn23deg
kSigmaPMCSAngVsPIn23deg
kMeanPMCSAngVsPIn310deg
kSigmaPMCSAngVsPIn310deg
kcPDCA
kcPDCAMC
kcPDCAVsPosAbsEndMC
kMeanResClXVsCh
kMeanResClYVsCh
kSigmaResClXVsCh
kSigmaResClYVsCh
kMeanResClXVsDE
kMeanResClYVsDE
kSigmaResClXVsDE
kSigmaResClYVsDE
};
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:
TStringfAlignOCDBpath/< OCDB path to the alignment file
AliCFContainer*fCFContainer!< Pointer to the CF container
TObjArray*fClusterList!< List of graph and canvas about cluster resolution
Double_tfClusterMaxRes[2]!< highest chamber resolution in both directions
Bool_tfCorrectForSystematics/< add or not the systematic shifts of the residuals to the resolution
TObjArray*fDCAList!< List of graph and canvas about DCA
Int_tfDEIds[200]!< ID of DE refered by index in histograms
Int_tfDEIndices[1100]!< index of DE in histograms refered by ID
TStringfDefaultStorage/< location of the default OCDB storage
TObjArray*fEfficiencyList!< List of histograms for tracker/trigger efficiencies
Bool_tfEnforceTrkCriteria/< select reconstructed tracks still reconstructible
TObjArray*fEtaAtVtxList!< List of graph and canvas about eta resolution at vertex
Bool_tfFitResiduals/< fit or not the cluster residuals to extract means and sigmas
Bool_tfMCTrigLevelFromMatchTrk/< set the triggerable level from the MC matching the trk part
Int_tfNDE!< total number of DE
Int_tfNPBins/< number of momentum bins
TObjArray*fPAt1stClList!< List of graph and canvas about momentum resolution at first cluster
TObjArray*fPAtVtxList!< List of graph and canvas about momentum resolution at vertex
Double_tfPRange[2]/< momentum range
TObjArray*fPhiAtVtxList!< List of graph and canvas about phi resolution at vertex
TStringfRecoParamOCDBpath/< OCDB path to the recoParam file
Bool_tfRequest2ChInSameSt45!< 2 fired chambers requested in the same station (4 or 5) or not
UInt_tfRequestedStationMask!< mask of requested stations
Double_tfSigmaCutTrig!< sigma cut to associate trigger track to triggerable track
TObjArray*fSlopeAt1stClList!< List of graph and canvas about slope resolution at first cluster
TObjArray*fSlopeAtVtxList!< List of graph and canvas about slope resolution at vertex
TObjArray*fTrackerList!< List of histograms for tracker resolution
TObjArray*fTriggerList!< List of histograms for trigger resolution
Bool_tfUseMCKinematics/< use kinematics from MC track when available

Class Charts

Inheritance Chart:
TTask
AliAnalysisTask
AliAnalysisTaskSE
AliAnalysisTaskMuonPerformance

Function documentation

AliAnalysisTaskMuonPerformance()
 Default Constructor.

AliAnalysisTaskMuonPerformance(const char* name)
 Constructor.

~AliAnalysisTaskMuonPerformance()
 Destructor

void NotifyRun()
 Use the event handler information to correctly fill the analysis flags:
 - check if Monte Carlo information is present

void UserCreateOutputObjects()
 Create output objects

void UserExec(Option_t* option)
 Main loop
 Called for each event

void Terminate(Option_t* option)
 Draw some histogram at the end.

Bool_t GetEfficiency(AliCFEffGrid* efficiency, Double_t& calcEff, Double_t& calcEffErr)
 Calculate the efficiency when cuts on the THnSparse are applied

Int_t RecoTrackMother(AliMCParticle* mcParticle)
 Find track mother from kinematics

Float_t GetBinThetaAbsEnd(Float_t RAtAbsEnd, Bool_t isTheta = kFALSE)
 Get bin of theta at absorber end region

void FillContainerInfoReco(Double_t* containerInput, AliESDMuonTrack* esdTrack, Bool_t isValid, Int_t mcID)
 Fill container info (except kVarMatchMC, kVarMCTrigger, kVarCent, kVarDupliTrg) for reconstructed tracks

void FillContainerInfoMC(Double_t* containerInput, AliMCParticle* mcPart)
 Fill container info (except kVarMatchMC, kVarMCTrigger, kVarHasTracker and kVarTrigger, kVarCent, kVarDupliTrg) for MC tracks

void FitLandauGausResVsP(TH2* h, const char* fitting, TGraphAsymmErrors* gMean, TGraphAsymmErrors* gMostProb, TGraphAsymmErrors* gSigma)
 generic function to fit residuals versus momentum with a landau convoluted with a gaussian
void FitGausResVsMom(TH2* h, const Double_t mean0, const Double_t sigma0, const char* fitting, TGraphAsymmErrors* gMean, TGraphAsymmErrors* gSigma)
 generic function to fit residuals versus momentum with a gaussian
void FitPDCAVsMom(TH2* h, const char* fitting, TGraphAsymmErrors* gMean, TGraphAsymmErrors* gSigma)
 generic function to fit p*DCA distributions
void FitClusterResidual(TH1* h, Int_t i, Double_t& sigma, TGraphErrors* gMean, TGraphErrors* gSigma)
 fill graphs with residual mean and sigma
TCanvas* DrawVsAng(const char* name, const char* title, TH1* h1, TH2* h2)
 generic function to draw histograms versus absorber angular region
TCanvas* DrawVsPos(const char* name, const char* title, TH2* h1, TH2* h2, TH2* h3)
 generic function to draw histograms versus position at absorber end
TCanvas* DrawFitLandauGausResPVsP(const char* name, const char* title, TH2* h, const Int_t nBins, const char* fitting)
 generic function to draw and fit momentum residuals versus momentum
TCanvas* DrawResPVsP(const char* name, const char* title, TH2* h, const Int_t nBins)
 generic function to draw momentum residuals versus momentum
void Zoom(TH1* h, Double_t fractionCut = 0.01)
 Reduce the range of the histogram by removing a given fration of the statistic at each edge
void FillEffHistos(AliCFEffGrid* efficiency, const char* suffix, TObjArray* list)
 Compute efficiency histograms and save them to the given list
void SetPBins(Int_t nBins, Double_t pMin, Double_t pMax)
 Set the binning to be used to study the detector resolution versus momentum
AliAnalysisTaskMuonPerformance()
void SetDefaultStorage(const char* ocdbPath)
 Set location of the default OCDB storage (if not set use "raw://")
{ fDefaultStorage = ocdbPath; }
void SetAlignStorage(const char* ocdbPath)
 Set the OCDB path to the alignment file used in the reco (if not set use default storage)
{ fAlignOCDBpath = ocdbPath; }
void SetRecoParamStorage(const char* ocdbPath)
 Set the OCDB path to the recoParam file used in the reco (if not set use default storage)
{ fRecoParamOCDBpath = ocdbPath; }
void CorrectClusterResForSystematics(Bool_t flag = kTRUE)
 set the flag to add or not the systematic shifts of the residuals to the resolution
void FitClusterResiduals(Bool_t flag = kTRUE)
 set the flag to fit or not the cluster residuals to extract means and sigmas
{ fFitResiduals = flag; }
void EnforceTrackingCriteria(Bool_t flag = kTRUE)
 set the flag to select reconstructed tracks still reconstructible for efficiency calculations
void UseMCKinematics(Bool_t flag = kTRUE)
 set the flag to use kinematics from MC track for efficiency calculations when available
{ fUseMCKinematics = flag; }
void SetMCTrigLevelFromMatchTrk(Bool_t flag = kTRUE)
 if trk and trig parts match different MC, set the triggerable level from the MC matching the trk part
AliAnalysisTaskMuonPerformance& operator=(const AliAnalysisTaskMuonPerformance& )