ROOT logo
AliRoot » PWGPP » MUON » DEP » AliAnalysisTaskMuonResolution

class AliAnalysisTaskMuonResolution: public AliAnalysisTaskSE

Function Members (Methods)

public:
AliAnalysisTaskMuonResolution()
AliAnalysisTaskMuonResolution(const char* name)
virtual~AliAnalysisTaskMuonResolution()
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 = "")
voidApplyAccCut(Bool_t flag = kTRUE)
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
voidCorrectForSystematics(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
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()
voidFitResiduals(Bool_t flag = kTRUE)
voidAliAnalysisTask::GetBranches(const char* type, TString& result) const
Int_tTTask::GetBreakin() const
Int_tTTask::GetBreakout() const
TObjArray*GetCanvases()
virtual UInt_tAliAnalysisTaskSE::GetCollisionCandidates() const
voidGetDEShift(Double_t* valNB, Double_t* valB) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
voidGetHalfChShift(Double_t* valNB, Double_t* valB) const
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
voidGetStartingResolution(Double_t* valNB, Double_t* valB) 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
voidImproveTracks(Bool_t flag = kTRUE)
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
voidMatchTrigger(Bool_t flag = kTRUE)
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
voidPrintClusterRes(Bool_t perCh = kTRUE, Bool_t perDE = kFALSE)
voidAliAnalysisTask::PrintContainers(Option_t* option = "all", Int_t indent = 0) const
voidPrintDEShift(Bool_t flag = kTRUE)
voidPrintHalfChShift(Bool_t flag = kTRUE)
virtual voidAliAnalysisTask::PrintTask(Option_t* option = "all", Int_t indent = 0) const
Bool_tAliAnalysisTask::ProducersTouched() const
virtual Int_tTObject::Read(const char* name)
voidReAlign(const char* oldAlignStorage = 0x0, const char* newAlignStorage = "")
virtual voidTObject::RecursiveRemove(TObject* obj)
voidRemoveMonoCathodClusters(Bool_t flag = kTRUE, Bool_t checkAllPads = kTRUE)
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)
voidSelectPhysics(Bool_t flag = kTRUE)
voidSelectTrigger(Bool_t flag = kTRUE, UInt_t mask = AliVEvent::kMUON)
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)
voidSetDEShift(Double_t* valNB, Double_t* valB)
voidSetDEShift(Int_t iDE, Double_t valNB, Double_t valB)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetExtrapMode(Int_t val)
voidSetHalfChShift(Double_t* valNB, Double_t* valB)
voidSetHalfChShift(Int_t hchId, Double_t valNB, Double_t valB)
voidSetMinMomentum(Double_t val)
voidSetMuonTrackCuts(AliMuonTrackCuts& trackCuts)
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)
voidSetStartingResolution(Double_t* valNB, Double_t* valB)
voidSetStartingResolution(Int_t chId, Double_t valNB, Double_t valB)
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)
voidShiftDE(Bool_t flag = kTRUE)
voidShiftHalfCh(Bool_t flag = kTRUE)
virtual voidShowMembers(TMemberInspector&)
voidShowProgressBar(Bool_t flag = kTRUE)
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*)
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:
AliAnalysisTaskMuonResolution(const AliAnalysisTaskMuonResolution& rhs)
UInt_tBuildTriggerWord(const TString& FiredTriggerClasses)
voidCheckPads(AliMUONVCluster* cl, Bool_t& hasBending, Bool_t& hasNonBending) const
voidCheckPadsBelow(AliMUONVCluster* cl, Bool_t& hasBending, Bool_t& hasNonBending) const
voidCov2CovP(const AliMUONTrackParam& param, TMatrixD& covP)
voidFillMeanSigmaClusterVsX(const TH2* hIn, const TH2* hOut, TGraphErrors* gMean, TGraphErrors* gSigma)
voidGetMeanRMS(TH1* h, Double_t& mean, Double_t& meanErr, Double_t& rms, Double_t& rmsErr, TGraphErrors* gMean = 0x0, TGraphErrors* gRMS = 0x0, Int_t i = 0, Double_t x = 0, Bool_t zoom = kTRUE, Bool_t enableFit = kTRUE)
voidModifyClusters(AliMUONTrack& track)
AliAnalysisTaskMuonResolution&operator=(const AliAnalysisTaskMuonResolution& rhs)
voidZoom(TH1* h, Double_t fractionCut = 0.01)
voidZoomLeft(TH1* h, Double_t fractionCut = 0.02)
voidZoomRight(TH1* h, Double_t fractionCut = 0.02)

Data Members

public:
enum eResiduals { kResidualPerChClusterIn
kResidualPerChClusterOut
kTrackResPerCh
kMCSPerCh
kClusterRes2PerCh
kResidualPerDEClusterIn
kResidualPerDEClusterOut
kTrackResPerDE
kMCSPerDE
kResidualPerHalfChClusterIn
kResidualPerHalfChClusterOut
kTrackResPerHalfCh
kMCSPerHalfCh
kLocalChi2PerCh
kLocalChi2PerDE
};
enum eResidualsVsP { kResidualInChVsPClusterIn
kResidualInChVsPClusterOut
kResidualVsPClusterIn
kResidualVsPClusterOut
};
enum eResidualsVsCent { kResidualInChVsCentClusterIn
kResidualInChVsCentClusterOut
kResidualVsCentClusterIn
kResidualVsCentClusterOut
};
enum eResidualsVsAngle { kResidualInChVsAngleClusterIn
kResidualInChVsAngleClusterOut
kResidualVsAngleClusterIn
kResidualVsAngleClusterOut
kResidualInHalfChVsAngleClusterIn
};
enum eLocalChi2 { kLocalChi2PerChMean
kLocalChi2PerDEMean
};
enum eChamberRes { kResidualPerChMeanClusterIn
kResidualPerChMeanClusterOut
kResidualPerChSigmaClusterIn
kResidualPerChSigmaClusterOut
kResidualPerChDispersionClusterOut
kCombinedResidualPerChSigma
kTrackResPerChMean
kMCSPerChMean
kClusterResPerCh
kCalcClusterResPerCh
kResidualPerDEMeanClusterIn
kResidualPerDEMeanClusterOut
kCombinedResidualPerDESigma
kClusterResPerDE
kResidualPerHalfChMeanClusterIn
kResidualPerHalfChMeanClusterOut
kCombinedResidualPerHalfChSigma
kClusterResPerHalfCh
kResidualMeanClusterInVsP
kCombinedResidualSigmaVsP
kCombinedResidualAllChSigmaVsP
kResidualMeanClusterInVsCent
kCombinedResidualSigmaVsCent
kCombinedResidualAllChSigmaVsCent
kResidualMeanClusterInVsAngle
kCombinedResidualSigmaVsAngle
kCombinedResidualAllChSigmaVsAngle
kHChResidualMeanClusterInVsAngle
};
enum eTrackRes { kUncorrPRes
kPRes
kUncorrPtRes
kPtRes
kUncorrSlopeRes
kSlopeRes
};
enum eCanvases { kResPerCh
kResPerDE
kResPerHalfCh
kResPerChVsP
kResPerChVsCent
kResPerChVsAngle
kShiftPerChVsP
kShiftPerChVsCent
kShiftPerChVsAngle
kDetailResPerCh
kDetailResPerHalfCh
kDetailResPerDE
};
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 AliVHeader*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:
Bool_tfApplyAccCut/< use only tracks passing the acceptance cuts (Rabs, eta)
TObjArray*fCanvases!< List of canvases summarizing the results
TObjArray*fChamberRes!< List of plots related to chamber/DE resolution
Bool_tfCheckAllPads/< use all pads or only the ones directly below the cluster to look for mono-cathods
Double_tfClusterResB[10]/< cluster resolution in bending direction
Double_tfClusterResNB[10]/< cluster resolution in non-bending direction
Bool_tfCorrectForSystematics/< add or not the systematic shifts of the residuals to the resolution
Int_tfDEIds[200]!< ID of DE refered by index in histograms
Int_tfDEIndices[1100]!< index of DE in histograms refered by ID
Double_tfDEShiftB[200]/< DE deplacements in bending direction
Double_tfDEShiftNB[200]/< DE deplacements in non-bending direction
TStringfDefaultStorage/< location of the default OCDB storage
Int_tfExtrapMode/< extrapolation mode to get the track parameters and covariances at a given cluster
TF1*fGaus/< gaussian function to fit the residuals
Double_tfHalfChShiftB[20]/< half-chamber deplacements in bending direction
Double_tfHalfChShiftNB[20]/< half-chamber deplacements in non-bending direction
Bool_tfImproveTracks/< flag telling whether to improve or not the track before measuring the resolution
TObjArray*fLocalChi2!< List of plots related to local chi2 per chamber/DE
Bool_tfMatchTrig/< use only tracks matched with trigger
Double_tfMinMomentum/< use only tracks with momentum higher than this value
AliMuonTrackCuts*fMuonTrackCuts/< cuts to select tracks to be considered
Int_tfNDE!< total number of DE
Int_tfNEvents!< number of processed events
TStringfNewAlignStorage/< location of the OCDB storage where to find new MUON/Align/Data (use the default one if empty)
AliMUONGeometryTransformer*fNewGeoTransformer!< new geometry transformer containing the new alignment to be applied
Bool_tfOCDBLoaded!< flag telling if the OCDB has been properly loaded or not
TStringfOldAlignStorage/< location of the OCDB storage where to find old MUON/Align/Data (use the default one if empty)
AliMUONGeometryTransformer*fOldGeoTransformer!< geometry transformer used to recontruct the present data
Bool_tfPrintClResPerCh/< print the cluster resolution per chamber
Bool_tfPrintClResPerDE/< print the cluster resolution per DE
Bool_tfPrintDEShift/< print the DE displacements
Bool_tfPrintHalfChShift/< print the half-chamber displacements
Bool_tfReAlign/< flag telling whether to re-align the spectrometer or not before computing resolution
Bool_tfRemoveMonoCathCl/< remove or not the mono-cathod clusters
TObjArray*fResiduals!< List of residual histos
TObjArray*fResidualsVsAngle!< List of residual vs. track angle histos
TObjArray*fResidualsVsCent!< List of residual vs. centrality histos
TObjArray*fResidualsVsP!< List of residual vs. p histos
Bool_tfSelectPhysics/< use only tracks passing the physics selection
Bool_tfSelectTrigger/< use only tracks passing the trigger selection
TList*fSelectTriggerClass!< list of trigger class that can be selected to fill histograms
Bool_tfShiftDE/< flag telling wether to displace DEs by fDEShift(N)B[i] or not
Bool_tfShiftHalfCh/< flag telling wether to displace half-chambers by fHalfChShift(N)B[i] or not
Bool_tfShowProgressBar/< show the progression bar
TObjArray*fTmpHists!< List of temporary histograms
TObjArray*fTrackRes!< List of plots related to track resolution (p, pT, ...)
UInt_tfTriggerMask/< trigger mask to be used when selecting tracks
static const Int_tfgkMinEntries/< minimum number of entries needed to compute resolution

Class Charts

Inheritance Chart:
TTask
AliAnalysisTask
AliAnalysisTaskSE
AliAnalysisTaskMuonResolution

Function documentation

AliAnalysisTaskMuonResolution()
 Default constructor
AliAnalysisTaskMuonResolution(const char* name)
 Constructor
~AliAnalysisTaskMuonResolution()
 Destructor
void UserCreateOutputObjects()
 Create histograms
void UserExec(Option_t* )
 Main event loop
void NotifyRun()
 load necessary data from OCDB corresponding to the first run number and initialize analysis
void Terminate(Option_t* )
 compute final results
void ModifyClusters(AliMUONTrack& track)
 Reset the clusters resolution from the ones given to the task and change
 the cluster position according to the new alignment parameters if required
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 ZoomLeft(TH1* h, Double_t fractionCut = 0.02)
 Reduce the range of the histogram by removing a given fration of the statistic on the left side
void ZoomRight(TH1* h, Double_t fractionCut = 0.02)
 Reduce the range of the histogram by removing a given fration of the statistic on the right side
void GetMeanRMS(TH1* h, Double_t& mean, Double_t& meanErr, Double_t& rms, Double_t& rmsErr, TGraphErrors* gMean = 0x0, TGraphErrors* gRMS = 0x0, Int_t i = 0, Double_t x = 0, Bool_t zoom = kTRUE, Bool_t enableFit = kTRUE)
 Fill graphs with the mean and rms values and the corresponding error (zooming if required)
void FillMeanSigmaClusterVsX(const TH2* hIn, const TH2* hOut, TGraphErrors* gMean, TGraphErrors* gSigma)
 Fill graph with cluster shift (cluster in) if gMean != OxO
 and resolution from combined residuals with cluster in/out (zooming if required)
void Cov2CovP(const AliMUONTrackParam& param, TMatrixD& covP)
 change coordinate system: (X, SlopeX, Y, SlopeY, q/Pyz) -> (X, Y, pX, pY, pZ)
 parameters (param) are given in the (X, SlopeX, Y, SlopeY, q/Pyz) coordinate system
UInt_t BuildTriggerWord(const TString& FiredTriggerClasses)
 build the trigger word from the fired trigger classes and the list of selectable trigger
void CheckPads(AliMUONVCluster* cl, Bool_t& hasBending, Bool_t& hasNonBending) const
 Check that this cluster contains pads on both cathods
void CheckPadsBelow(AliMUONVCluster* cl, Bool_t& hasBending, Bool_t& hasNonBending) const
 Check that this cluster contains pads on both cathods just under its position
void SetStartingResolution(Int_t chId, Double_t valNB, Double_t valB)
void SetStartingResolution(Double_t* valNB, Double_t* valB)
void GetStartingResolution(Double_t* valNB, Double_t* valB) const
void SetHalfChShift(Int_t hchId, Double_t valNB, Double_t valB)
void SetHalfChShift(Double_t* valNB, Double_t* valB)
void GetHalfChShift(Double_t* valNB, Double_t* valB) const
void SetDEShift(Int_t iDE, Double_t valNB, Double_t valB)
void SetDEShift(Double_t* valNB, Double_t* valB)
void GetDEShift(Double_t* valNB, Double_t* valB) const
void ReAlign(const char* oldAlignStorage = 0x0, const char* newAlignStorage = "")
void FitResiduals(Bool_t flag = kTRUE)
void SetMuonTrackCuts(AliMuonTrackCuts& trackCuts)
AliAnalysisTaskMuonResolution()
void SetDefaultStorage(const char* ocdbPath)
 Set location of the default OCDB storage (if not set use "raw://")
{ fDefaultStorage = ocdbPath; }
void ShiftHalfCh(Bool_t flag = kTRUE)
{ fShiftHalfCh = flag; }
void PrintHalfChShift(Bool_t flag = kTRUE)
{ fPrintHalfChShift = flag; }
void ShiftDE(Bool_t flag = kTRUE)
{ fShiftDE = flag; }
void PrintDEShift(Bool_t flag = kTRUE)
{ fPrintDEShift = flag; }
void SetMinMomentum(Double_t val)
 set the minimum momentum value of the tracks used to compute the resolution
{ fMinMomentum = val; }
void SelectPhysics(Bool_t flag = kTRUE)
 set the flag to use only tracks passing the physics selection
{fSelectPhysics = flag;}
void MatchTrigger(Bool_t flag = kTRUE)
 set the flag to use only tracks matched with trigger or not
{ fMatchTrig = flag; }
void ApplyAccCut(Bool_t flag = kTRUE)
 set the flag to use only tracks passing the acceptance cuts (Rabs, eta)
{ fApplyAccCut = flag; }
void SelectTrigger(Bool_t flag = kTRUE, UInt_t mask = AliVEvent::kMUON)
 Select events belonging to at least one of the trigger classes selected by the mask to fill histograms:
 - if the physics selection is used, apply the mask to the trigger word returned by the physics selection
 - if not, apply the mask to the trigger word built by looking for triggers listed in "fSelectTriggerClass"
{fSelectTrigger = flag; fTriggerMask = mask;}
void SetExtrapMode(Int_t val)
 set the extrapolation mode to get the track parameters and covariances at a given cluster:
 0 = extrapolate from the closest cluster; 1 = extrapolate from the previous cluster except between stations 2-3-4
{ fExtrapMode = val; }
void CorrectForSystematics(Bool_t flag = kTRUE)
 set the flag to add or not the systematic shifts of the residuals to the resolution
void SetAlignStorage(const char* ocdbPath)
 Set the OCDB path to the alignment file used in the reco (if not set use default storage)
{ fNewAlignStorage = ocdbPath; }
TObjArray* GetCanvases()
 return the list of summary canvases
{return fCanvases;}
void ShowProgressBar(Bool_t flag = kTRUE)
 set the flag to show the progression bar
void PrintClusterRes(Bool_t perCh = kTRUE, Bool_t perDE = kFALSE)
 set the flag to print the cluster resolution per chamber/DE
void RemoveMonoCathodClusters(Bool_t flag = kTRUE, Bool_t checkAllPads = kTRUE)
 set the flag to remove mono-cathod clusters (either considering all the pads or only the ones directly below)
{fRemoveMonoCathCl = flag; fCheckAllPads = checkAllPads;}
void ImproveTracks(Bool_t flag = kTRUE)
 set the flag to improve the track before measuring the resolution
{fImproveTracks = flag;}