ROOT logo
AliRoot » PWGPP » TPC » AliTPCcalibResidualPID

class AliTPCcalibResidualPID: public AliAnalysisTaskSE

Function Members (Methods)

public:
AliTPCcalibResidualPID()
AliTPCcalibResidualPID(const char* name)
virtual~AliTPCcalibResidualPID()
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
Int_tCompareFloat(Float_t f1 = 1, Float_t f2 = 0) 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)
static Double_t*ExtractResidualPID(THnSparseF* histPidQA, const Bool_t useV0s = kTRUE, const Char_t* outFile = "out.root", const Char_t* type = "MC", const Char_t* period = "LHC10H8", const Char_t* pass = "PASS1", const Char_t* system = "PBPB", const Double_t* initialParameters = 0x0, const Char_t* dedxtype = "", AliTPCcalibResidualPID::FitType = kSaturatedLund)
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()
static TF1*FitBB(TObjArray* inputGraphs, Bool_t isMC, Bool_t isPPb, const Bool_t useV0s, const Double_t* initialParameters = 0x0, AliTPCcalibResidualPID::FitType = kSaturatedLund)
voidAliAnalysisTask::GetBranches(const char* type, TString& result) const
Int_tTTask::GetBreakin() const
Int_tTTask::GetBreakout() const
virtual UInt_tAliAnalysisTaskSE::GetCollisionCandidates() const
Bool_tGetCorrectdEdxEtaDependence() const
Bool_tGetCorrectdEdxMultiplicityDependence() const
static Double_tGetCutGeo()
static Double_tGetCutNcl()
static Double_tGetCutNcr()
Bool_tGetCutOnProdRadiusForV0el() 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
virtual Bool_tGetIsPbpOrpPb() 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
static TObjArray*GetResidualGraphs(THnSparseF* histPidQA, const Char_t* system, const Bool_t useV0s)
static TObjArray*GetResidualGraphsMC(THnSparseF* histPidQA, const Char_t* system)
static TObjArray*GetResponseFunctions(TF1* parametrisation, TObjArray* inputGraphs, const Char_t* type, const Char_t* period, const Char_t* pass, const Char_t* system, const Char_t* dedxtype)
static TObjArray*GetSeparation(THnSparseF* histPidQA, Int_t kParticle1, Int_t kParticle2)
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
Bool_tGetUseMCinfo() const
virtual Bool_tGetUseTPCCutMIGeo() const
virtual Int_tGetV0motherIndex(Int_t trackIndex) const
virtual Int_tGetV0motherPDG(Int_t trackIndex) const
virtual Char_tGetV0tag(Int_t trackIndex) const
virtual Bool_tGetVertexIsOk(AliVEvent* event) const
Bool_tGetWriteAdditionalOutput() const
Double_tGetZvtxCutEvent() 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
static Int_tMergeGraphErrors(TGraphErrors* mergedGraph, TCollection* li)
virtual Bool_tAliAnalysisTaskSE::Notify()
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
voidAliAnalysisTask::PrintContainers(Option_t* option = "all", Int_t indent = 0) const
virtual voidAliAnalysisTask::PrintTask(Option_t* option = "all", Int_t indent = 0) const
virtual voidProcess(AliESDEvent *const esdEvent = 0, AliMCEvent *const mcEvent = 0)
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
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 voidSetCorrectdEdxEtaDependence(Bool_t flag)
virtual voidSetCorrectdEdxMultiplicityDependence(Bool_t flag)
static voidSetCutGeo(Double_t value)
static voidSetCutNcl(Double_t value)
static voidSetCutNcr(Double_t value)
virtual voidSetCutOnProdRadiusForV0el(Bool_t flag)
virtual voidAliAnalysisTaskSE::SetDebugLevel(Int_t level)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidSetESDtrackCuts(AliESDtrackCuts* trackCuts)
virtual voidSetESDtrackCutsV0(AliESDtrackCuts* trackCutsV0)
virtual voidSetIsPbpOrpPb(Bool_t newValue)
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)
virtual voidSetProduceAllPadsPID(Int_t produceAllpadTypes)
virtual voidSetProduceLongPadsPID(Int_t produceLongpads)
virtual voidSetProduceMediumPadsPID(Int_t produceMediumpads)
virtual voidSetProduceOrocPID(Int_t produceOroc)
virtual voidSetProducePIDqa(Int_t produceGlobal)
virtual voidSetProduceShortPadsPID(Int_t produceShortpads)
virtual voidSetProduceTPCsignalTHnSparse(Int_t producetpcsignal)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
voidAliAnalysisTask::SetUsed(Bool_t flag = kTRUE)
virtual voidSetUseMCinfo(Bool_t flag)
virtual voidSetUseTPCCutMIGeo(Bool_t newValue)
virtual voidSetWriteAdditionalOutput(Bool_t flag = kTRUE)
voidAliAnalysisTask::SetZombie(Bool_t flag = kTRUE)
virtual voidSetZvtxCutEvent(Double_t newValue)
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
static Bool_tTPCCutMIGeo(const AliVTrack* track, const AliVEvent* evt, TTreeStream* streamer = 0x0)
static Bool_tTPCCutMIGeo(const AliVTrack* track, const AliInputEventHandler* evtHandler, TTreeStream* streamer = 0x0)
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:
voidBinLogAxis(const THnSparseF* h, Int_t axisNumber)
voidClearV0PIDlist()
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
voidFillV0PIDlist(AliESDEvent* esdEvent = 0x0)
static voidFitSlicesY(TH2* hist, Double_t heightFractionForRange, Int_t cutThreshold, TString fitOption, TObjArray* arr)
char*AliAnalysisTask::GetBranchAddress(Int_t islot, const char* branch) const
static Double_tLund(Double_t* xx, Double_t* par)
voidTObject::MakeZombie()
TFile*AliAnalysisTask::OpenFile(Int_t iout, Option_t* option = "RECREATE") const
Bool_tAliAnalysisTask::PostData(Int_t iout, TObject* data, Option_t* option = "")
static Double_tSaturatedLund(Double_t* xx, Double_t* par)
Bool_tAliAnalysisTask::SetBranchAddress(Int_t islot, const char* branch, void* address) const

Data Members

public:
enum FitType { kAleph
kLund
kSaturatedLund
kAlephWithAdditionalParam
};
enum kParticle { kElectron
kPion
kKaon
kProton
};
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 Double_tfgCutGeoCut variable for TPCCutMIGeo concerning geometry
static Double_tfgCutNclCut variable for TPCCutMIGeo concerning num clusters
static Double_tfgCutNcrCut variable for TPCCutMIGeo concerning num crossed rows
static AliTOFHeader*AliAnalysisTaskSE::fgTOFHeader! TOFHeader for replication
private:
Bool_tfCorrectdEdxEtaDependenceCorrect eta dependence for fHistPidQA (NOTE: Not done for the pad-specific THnSparses)
Bool_tfCorrectdEdxMultiplicityDependenceCorrect multiplicity dependence for fHistPidQA (NOTE: Not done for the pad-specific THnSparses)
Bool_tfCutOnProdRadiusForV0elCut on production radius for V0 electrons
AliESDEvent*fESD! ESD object
AliESDtrackCuts*fESDtrackCutsbasic cut variables for all non-V0 tracks
AliESDtrackCuts*fESDtrackCutsV0basic cut variables for all V0 tracks
THnSparseF*fHistPidQA! histogram for the QA of the PID
THnSparseF*fHistPidQAlong! histogram for the QA of the PID long pads
THnSparseF*fHistPidQAmedium! histogram for the QA of the PID med pads
THnSparseF*fHistPidQAoroc! histogram for the QA of the PID full oroc
THnSparseF*fHistPidQAshort! histogram for the QA of the PID short pads
THnSparseF*fHistSharedClusQAV0El! Histogram with shared clusters QA for V0 el
THnSparseF*fHistSharedClusQAV0Pi! Histogram with shared clusters QA for V0 pi
THnSparseF*fHistSharedClusQAV0Pr! Histogram with shared clusters QA for V0 pr
Bool_tfIsPbpOrpPbPbp/pPb collision or something else?
AliMCEvent*fMC! MC object
Short_tfNumEtaCorrReqErrorsIssuedNumber of times the error about eta correction issues have been displayed
Short_tfNumMultCorrReqErrorsIssuedNumber of times the error about multiplicity correction issues have been displayed
Int_tfNumTagsStoredNumber of entries of fV0tags
TObjArray*fOutputContainer! output data container
AliPIDResponse*fPIDResponse! PID handling
Bool_tfProduceAllPadTypes
Bool_tfProduceGlobal
Bool_tfProduceLongPads
Bool_tfProduceMediumPads
Bool_tfProduceOroc
Bool_tfProduceShortPads
Bool_tfProduceTPCSignalSparsefor setter
TObjArray*fQAList! Array with QA histos
THnSparseF*fThnspTpc! thnsparse containing the data
TTree*fTreeV0El! Tree with V0 el and closest neighbour tracks and V0 sisters
TTree*fTreeV0Pi! Tree with V0 pi and closest neighbour tracks and V0 sisters
TTree*fTreeV0Pr! Tree with V0 pr and closest neighbour tracks and V0 sisters
Double_tfTree_BtimesChargeOverPt_nb! Tree: mag field times charge/pT of neighbour
Double_tfTree_BtimesChargeOverPt_tr! Tree: mag field times charge/pT of track
Double_tfTree_BtimesChargeOverPt_vs! Tree: mag field times charge/pT of V0 sister
Double_tfTree_dEdxExpected_tr! Tree: dEdx_expected of track
Double_tfTree_dEdx_nb! Tree: dEdx of neighbour
Double_tfTree_dEdx_tr! Tree: dEdx of track
Double_tfTree_dEdx_vs! Tree: dEdx of V0 sister
Double_tfTree_distance_nb! Tree: distance on TPC cylinder of track and neighbour
Double_tfTree_distance_vs! Tree: distance on TPC cylinder of track and V0 sister
Double_tfTree_p_TPC_nb! Tree: TPC momentum of neighbour
Double_tfTree_p_TPC_tr! Tree: TPC momentum of track
Double_tfTree_p_TPC_vs! Tree: TPC momentum of V0 sister
Double_tfTree_tanTheta_nb! Tree: tan(theta) of neighbour
Double_tfTree_tanTheta_tr! Tree: tan(theta) of track
Double_tfTree_tanTheta_vs! Tree: tan(theta) of V0 sister
Bool_tfUseMCinfoUse MC info, if available
Bool_tfUseTPCCutMIGeoUse geometrical cut for TPC
AliESDv0KineCuts*fV0KineCuts! ESD V0 kine cuts
Int_t*fV0motherIndex! Pointer to array with index of the mother V0
Int_t*fV0motherPDG! Pointer to array with pdg of the mother V0
Char_t*fV0tags! Pointer to array with tags for identified particles from V0 decays
Bool_tfWriteAdditionalOutputAlso fill histos/trees for QA etc. and write them
Double_tfZvtxCutEventVertex z cut for the event (cm)
TH2F*fhArmenterosAll! Histogram with armenteros plot for all V0s
TH2F*fhArmenterosAntiLambda! Histogram with armenteros plot for anti-lambda
TH2F*fhArmenterosGamma! Histogram with armenteros plot for gamma
TH2F*fhArmenterosK0s! Histogram with armenteros plot for K0s
TH2F*fhArmenterosLambda! Histogram with armenteros plot for lambda
TH1F*fhInvMassAntiLambda! Histogram with inv. mass of anti-lambda
TH1F*fhInvMassGamma! Histogram with inv. mass of gamma
TH1F*fhInvMassK0s! Histogram with inv. mass of K0s
TH1F*fhInvMassLambda! Histogram with inv. mass of lambda

Class Charts

Inheritance Chart:
TTask
AliAnalysisTask
AliAnalysisTaskSE
AliTPCcalibResidualPID

Function documentation

AliTPCcalibResidualPID()
 default Constructor
 fast compilation test
     gSystem->Load("libANALYSIS");
     gSystem->Load("libANALYSISalice");
     .L /lustre/alice/akalweit/train/trunk/util/statsQA/AliTPCcalibResidualPID.cxx++

AliTPCcalibResidualPID(const char* name)
~AliTPCcalibResidualPID()
void UserCreateOutputObjects()
void UserExec(Option_t* )
calls the Process function
void Process(AliESDEvent *const esdEvent = 0, AliMCEvent *const mcEvent = 0)
Int_t CompareFloat(Float_t f1 = 1, Float_t f2 = 0) const
compares if the Float_t f1 is equal with f2 and returns 1 if true and 0 if false
void Terminate(Option_t* )
void BinLogAxis(const THnSparseF* h, Int_t axisNumber)
 Method for the correct logarithmic binning of histograms

Double_t* ExtractResidualPID(THnSparseF* histPidQA, const Bool_t useV0s = kTRUE, const Char_t* outFile = "out.root", const Char_t* type = "MC", const Char_t* period = "LHC10H8", const Char_t* pass = "PASS1", const Char_t* system = "PBPB", const Double_t* initialParameters = 0x0, const Char_t* dedxtype = "", AliTPCcalibResidualPID::FitType = kSaturatedLund)
 (1.) obtain residual graphs

TObjArray * GetSeparation(THnSparseF* histPidQA, Int_t kParticle1, Int_t kParticle2)
TObjArray * GetResidualGraphs(THnSparseF* histPidQA, const Char_t* system, const Bool_t useV0s)
 Extracts the residual graphs from THnSparse created from data (NOT MC!)

TObjArray * GetResidualGraphsMC(THnSparseF* histPidQA, const Char_t* system)
 Extracts the residual graphs from THnSparse created from MC (NOT DATA!)

TObjArray * GetResponseFunctions(TF1* parametrisation, TObjArray* inputGraphs, const Char_t* type, const Char_t* period, const Char_t* pass, const Char_t* system, const Char_t* dedxtype)

TF1* FitBB(TObjArray* inputGraphs, Bool_t isMC, Bool_t isPPb, const Bool_t useV0s, const Double_t* initialParameters = 0x0, AliTPCcalibResidualPID::FitType = kSaturatedLund)
 Fit Bethe-Bloch parametrisation to data points (inputGraphs)

Double_t Lund(Double_t* xx, Double_t* par)
 bg is beta*gamma
Double_t SaturatedLund(Double_t* xx, Double_t* par)
void FitSlicesY(TH2* hist, Double_t heightFractionForRange, Int_t cutThreshold, TString fitOption, TObjArray* arr)
heightPercentageForRange
 custom slices fit

Bool_t GetVertexIsOk(AliVEvent* event) const
void FillV0PIDlist(AliESDEvent* esdEvent = 0x0)
 Fill the PID tag list

void ClearV0PIDlist()
 Clear the PID tag list

Char_t GetV0tag(Int_t trackIndex) const
 Get the tag for the corresponding trackIndex. Returns -99 in case of invalid index/tag list.

Int_t GetV0motherIndex(Int_t trackIndex) const
 Get the index of the V0 mother for the corresponding trackIndex. Returns -99 in case of invalid index/mother index list.

Int_t GetV0motherPDG(Int_t trackIndex) const
 Get the PDG code of the V0 mother for the corresponding trackIndex. Returns 0 in case of invalid index/mother index list.

Int_t MergeGraphErrors(TGraphErrors* mergedGraph, TCollection* li)
 Adds all graphs with errors from the collection to this graph.
 Returns the total number of poins in the result or -1 in case of an error.
Bool_t TPCCutMIGeo(const AliVTrack* track, const AliVEvent* evt, TTreeStream* streamer = 0x0)
 TPC Cut MIGeo

AliTPCcalibResidualPID()
void SetESDtrackCuts(AliESDtrackCuts* trackCuts)
setter
{fESDtrackCuts = trackCuts;}
void SetESDtrackCutsV0(AliESDtrackCuts* trackCutsV0)
{fESDtrackCutsV0 = trackCutsV0;}
void SetProduceTPCsignalTHnSparse(Int_t producetpcsignal)
{fProduceTPCSignalSparse = producetpcsignal;}
void SetProducePIDqa(Int_t produceGlobal)
{fProduceGlobal = produceGlobal;}
void SetProduceAllPadsPID(Int_t produceAllpadTypes)
{fProduceAllPadTypes = produceAllpadTypes;}
void SetProduceShortPadsPID(Int_t produceShortpads)
{fProduceShortPads = produceShortpads;}
void SetProduceMediumPadsPID(Int_t produceMediumpads)
{fProduceMediumPads = produceMediumpads;}
void SetProduceLongPadsPID(Int_t produceLongpads)
{fProduceLongPads = produceLongpads;}
void SetProduceOrocPID(Int_t produceOroc)
{fProduceOroc = produceOroc;}
Bool_t GetUseTPCCutMIGeo() const
{ return fUseTPCCutMIGeo; }
void SetUseTPCCutMIGeo(Bool_t newValue)
{ fUseTPCCutMIGeo = newValue; }
Bool_t GetIsPbpOrpPb() const
{ return fIsPbpOrpPb; }
void SetIsPbpOrpPb(Bool_t newValue)
{ fIsPbpOrpPb = newValue; }
Double_t GetZvtxCutEvent() const
{ return fZvtxCutEvent; }
void SetZvtxCutEvent(Double_t newValue)
{ fZvtxCutEvent = newValue; }
Bool_t GetCorrectdEdxEtaDependence() const
void SetCorrectdEdxEtaDependence(Bool_t flag)
Bool_t GetCorrectdEdxMultiplicityDependence() const
void SetCorrectdEdxMultiplicityDependence(Bool_t flag)
Bool_t GetCutOnProdRadiusForV0el() const
void SetCutOnProdRadiusForV0el(Bool_t flag)
Bool_t GetUseMCinfo() const
{ return fUseMCinfo; }
void SetUseMCinfo(Bool_t flag)
{ fUseMCinfo = flag; }
Bool_t GetWriteAdditionalOutput() const
void SetWriteAdditionalOutput(Bool_t flag = kTRUE)
Double_t GetCutGeo()
{ return fgCutGeo; }
Double_t GetCutNcr()
{ return fgCutNcr; }
Double_t GetCutNcl()
{ return fgCutNcl; }
void SetCutGeo(Double_t value)
{ fgCutGeo = value; }
void SetCutNcr(Double_t value)
{ fgCutNcr = value; }
void SetCutNcl(Double_t value)
{ fgCutNcl = value; }
Bool_t TPCCutMIGeo(const AliVTrack* track, const AliVEvent* evt, TTreeStream* streamer = 0x0)
AliTPCcalibResidualPID& operator=(const AliTPCcalibResidualPID& )