ROOT logo
AliRoot » PWGPP » AliAnalysisTaskFilteredTree

class AliAnalysisTaskFilteredTree: public AliAnalysisTaskSE

Function Members (Methods)

public:
AliAnalysisTaskFilteredTree(const char* name = "AliAnalysisTaskFilteredTree")
virtual~AliAnalysisTaskFilteredTree()
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)
Bool_tConstrainTPCInner(AliExternalTrackParam *const tpcInnerC, const AliESDVertex* vtx, Double_t* b)
Bool_tConstrainTrackInner(AliExternalTrackParam *const trackInnerC, const AliESDVertex* vtx, Double_t mass, Double_t* b)
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)
voidFillHistograms(AliESDtrack *const ptrack, AliExternalTrackParam *const ptpcInnerC, Double_t centralityF, Double_t chi2TPCInnerC)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual voidFinishTaskOutput()
AliFilteredTreeAcceptanceCuts*GetAcceptanceCuts() const
AliAnalysisTaskFilteredTree::EAnalysisModeGetAnalysisMode() const
voidAliAnalysisTask::GetBranches(const char* type, TString& result) const
Int_tTTask::GetBreakin() const
Int_tTTask::GetBreakout() const
TStringGetCentralityEstimator() const
virtual UInt_tAliAnalysisTaskSE::GetCollisionCandidates() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
AliFilteredTreeEventCuts*GetEventCuts() const
Bool_tGetFillTrees()
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
Int_tGetKFParticle(AliESDv0 *const v0, AliESDEvent *const event, AliKFParticle& kfparticle)
TList*TTask::GetListOfTasks() const
static Int_tGetMCTrueTrackMult(AliMCEvent *const mcEvent, AliFilteredTreeEventCuts *const evtCuts, AliFilteredTreeAcceptanceCuts *const accCuts)
TParticle*GetMother(TParticle *const particle, AliStack *const stack)
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
Bool_tGetProcessCosmics()
Bool_tGetProcessProcessITSTPCmatchOut()
TObject*AliAnalysisTask::GetPublishedData() const
virtual TList*AliAnalysisTaskSE::GetQAHistos() const
AliFilteredTreeAcceptanceCuts*GetRecAcceptanceCuts() const
virtual const char*TNamed::GetTitle() const
AliESDtrackCuts*GetTrackCuts() const
AliTriggerAnalysis::TriggerGetTrigger() 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_tIsFromConversion(Int_t label, AliStack *const stack)
Bool_tIsFromMaterial(Int_t label, AliStack *const stack)
Bool_tIsFromStrangeness(Int_t label, AliStack *const stack)
Bool_tIsHighDeDxParticle(AliESDtrack *const track)
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_tIsUseESDfriends() const
Bool_tIsUseMCInfo() const
Bool_tIsV0Downscaled(AliESDv0 *const v0)
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
voidAliAnalysisTask::PrintContainers(Option_t* option = "all", Int_t indent = 0) const
virtual voidAliAnalysisTask::PrintTask(Option_t* option = "all", Int_t indent = 0) const
voidProcess(AliESDEvent *const esdEvent = 0, AliMCEvent *const mcEvent = 0, AliESDfriend *const esdFriend = 0)
voidProcessAll(AliESDEvent *const esdEvent = 0, AliMCEvent *const mcEvent = 0, AliESDfriend *const esdFriend = 0)
voidProcessCosmics(AliESDEvent *const esdEvent = 0, AliESDfriend* esdFriend = 0)
voidProcessdEdx(AliESDEvent *const esdEvent = 0, AliMCEvent *const mcEvent = 0, AliESDfriend *const esdFriend = 0)
voidProcessITSTPCmatchOut(AliESDEvent *const esdEvent = 0, AliESDfriend *const esdFriend = 0)
voidProcessLaser(AliESDEvent *const esdEvent = 0, AliMCEvent *const mcEvent = 0, AliESDfriend *const esdFriend = 0)
voidProcessMCEff(AliESDEvent *const esdEvent = 0, AliMCEvent *const mcEvent = 0, AliESDfriend *const esdFriend = 0)
voidProcessTrackMatch(AliESDEvent *const esdEvent = 0, AliESDfriend *const esdFriend = 0)
voidProcessV0(AliESDEvent *const esdEvent = 0, AliMCEvent *const mcEvent = 0, AliESDfriend *const esdFriend = 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)
voidSetAcceptanceCuts(AliFilteredTreeAcceptanceCuts *const cuts)
voidTTask::SetActive(Bool_t active = kTRUE)TOGGLE
voidSetAnalysisMode(AliAnalysisTaskFilteredTree::EAnalysisMode mode)
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
voidSetCentralityEstimator(TString centEst = "V0M")
voidAliAnalysisTask::SetChecked(Bool_t flag = kTRUE)
virtual voidAliAnalysisTaskSE::SetDebugLevel(Int_t level)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetEventCuts(AliFilteredTreeEventCuts *const cuts)
voidSetFillTrees(Bool_t filltree)
voidSetFriendDownscaling(Double_t fact)
voidSetLowPtTrackDownscaligF(Double_t fact)
voidSetLowPtV0DownscaligF(Double_t fact)
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)
voidSetProcessAll(Bool_t proc)
voidSetProcessCosmics(Bool_t flag)
voidSetProcessProcessITSTPCmatchOut(Bool_t flag)
voidSetRecAcceptanceCuts(AliFilteredTreeAcceptanceCuts *const cuts)
virtual voidTNamed::SetTitle(const char* title = "")MENU
voidSetTrackCuts(AliESDtrackCuts *const cuts)
voidSetTrigger(const AliTriggerAnalysis::Trigger trigger)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidAliAnalysisTask::SetUsed(Bool_t flag = kTRUE)
voidSetUseESDfriends(Bool_t friends)
voidSetUseMCInfo(Bool_t info)
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 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

Data Members

public:
enum EAnalysisMode { kInvalidAnalysisMode
kTPCITSAnalysisMode
kTPCAnalysisMode
};
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:
AliAnalysisTaskFilteredTree::EAnalysisModefAnalysisModeanalysis mode TPC only, TPC + ITS
TStringfCentralityEstimatoruse centrality can be "VOM" (default), "FMD", "TRK", "TKL", "CL0", "CL1", "V0MvsFMD", "TKLvsV0M", "ZEMvsZDC"
TTree*fCosmicPairsTree! list send on output slot 0
TObjStringfCurrentFileNamecached value of current file name
AliESDtrack*fDummyTrack! dummy track for tree init
AliESDEvent*fESD! ESD event
AliESDfriend*fESDfriend! ESDfriend event
AliESDtrackCuts*fEsdTrackCutsesd track cuts
Bool_tfFillTreedo not fill trees
AliFilteredTreeAcceptanceCuts*fFilteredTreeAcceptanceCutsacceptance cuts
AliFilteredTreeEventCuts*fFilteredTreeEventCutsevent cuts
AliFilteredTreeAcceptanceCuts*fFilteredTreeRecAcceptanceCutsadditional recontruction acceptance cuts (not used for MC truth)
Double_tfFriendDownscalingfriend info downscaling )absolute value used), Modes>=1 downscaling in respect to the amount of tracks, Mode<=-1 (downscaling in respect to the data volume)
TTree*fHighPtTree! list send on output slot 0
TTree*fLaserTree! list send on output slot 0
Double_tfLowPtTrackDownscaligFlow pT track downscaling factor
Double_tfLowPtV0DownscaligFlow pT V0 downscaling factor
AliMCEvent*fMC! MC event
TTree*fMCEffTree! list send on output slot 0
TList*fOutput! list send on output slot 0
TIterator*fPitList! iterator over the output objetcs
Double_tfProcessAllCalculate all track properties including MC
Bool_tfProcessCosmicslook for cosmic pairs from random trigger
Bool_tfProcessITSTPCmatchOutswittch to process ITS/TPC standalone tracks
TH3D*fPtResCentPtTPC! sigma(pt)/pt vs Cent vs Pt for prim. TPC tracks
TH3D*fPtResCentPtTPCITS! sigma(pt)/pt vs Cent vs Pt for prim. TPC+ITS tracks
TH3D*fPtResCentPtTPCc! sigma(pt)/pt vs Cent vs Pt for prim. TPC contrained to vertex tracks
TH3D*fPtResEtaPtTPC! sigma(pt)/pt vs Eta vs Pt for prim. TPC tracks
TH3D*fPtResEtaPtTPCITS! sigma(pt)/pt vs Eta vs Pt for prim. TPC+ITS tracks
TH3D*fPtResEtaPtTPCc! sigma(pt)/pt vs Eta vs Pt for prim. TPC contrained to vertex tracks
TH3D*fPtResPhiPtTPC! sigma(pt)/pt vs Phi vs Pt for prim. TPC tracks
TH3D*fPtResPhiPtTPCITS! sigma(pt)/pt vs Phi vs Pt for prim. TPC+ITS tracks
TH3D*fPtResPhiPtTPCc! sigma(pt)/pt vs Phi vs Pt for prim. TPC contrained to vertex tracks
Bool_tfReducePileUpdownscale the information for the pile-up TPC tracks
TTreeSRedirector*fTreeSRedirector! temp tree to dump output
AliTriggerAnalysis::TriggerfTriggertrigger settings
Bool_tfUseESDfriendsuse esd friends
Bool_tfUseMCInfouse MC information
TTree*fV0Tree! list send on output slot 0
TTree*fdEdxTree! list send on output slot 0

Class Charts

Inheritance Chart:
TTask
AliAnalysisTask
AliAnalysisTaskSE
AliAnalysisTaskFilteredTree

Function documentation

AliAnalysisTaskFilteredTree(const char* name = "AliAnalysisTaskFilteredTree")
 Constructor
~AliAnalysisTaskFilteredTree()
 Destructor

Bool_t Notify()

void UserCreateOutputObjects()
 Create histograms
 Called once
void UserExec(Option_t* option)
 Called for each event

void ProcessCosmics(AliESDEvent *const esdEvent = 0, AliESDfriend* esdFriend = 0)
 Find cosmic pairs (triggered or random)


void Process(AliESDEvent *const esdEvent = 0, AliMCEvent *const mcEvent = 0, AliESDfriend *const esdFriend = 0)
 Select real events with high-pT tracks

void ProcessLaser(AliESDEvent *const esdEvent = 0, AliMCEvent *const mcEvent = 0, AliESDfriend *const esdFriend = 0)
 Process laser events -> dump tracks and clusters  to the special tree

void ProcessAll(AliESDEvent *const esdEvent = 0, AliMCEvent *const mcEvent = 0, AliESDfriend *const esdFriend = 0)
 Select real events with high-pT tracks
 Calculate and stor in the output tree:
  TPC constrained tracks
  InnerParams constrained tracks
  TPC-ITS tracks
  ITSout-InnerParams tracks
  chi2 distance between TPC constrained and TPC-ITS tracks
  chi2 distance between TPC refitted constrained and TPC-ITS tracks
  chi2 distance between ITSout and InnerParams tracks
  MC information:
   track references at ITSin, TPCin; InnerParam at first TPC track reference,
   particle ID, mother ID, production mechanism ...

 get selection cuts
void ProcessMCEff(AliESDEvent *const esdEvent = 0, AliMCEvent *const mcEvent = 0, AliESDfriend *const esdFriend = 0)
 Fill tree for efficiency studies MC only
Bool_t IsHighDeDxParticle(AliESDtrack *const track)
 check if particle is Z > 1

void ProcessV0(AliESDEvent *const esdEvent = 0, AliMCEvent *const mcEvent = 0, AliESDfriend *const esdFriend = 0)
 Select real events with V0 (K0s and Lambda and Gamma) high-pT candidates

void ProcessdEdx(AliESDEvent *const esdEvent = 0, AliMCEvent *const mcEvent = 0, AliESDfriend *const esdFriend = 0)
 Select real events with large TPC dEdx signal

Int_t GetKFParticle(AliESDv0 *const v0, AliESDEvent *const event, AliKFParticle& kfparticle)
 Create KF particle in case the V0 fullfill selection criteria

 Selection criteria
  0. algorithm cut
  1. track cut
  3. chi2 cut
  4. rough mass cut
  5. Normalized pointing angle cut

Bool_t IsV0Downscaled(AliESDv0 *const v0)
 Downscale randomly low pt V0

return kFALSE;
Bool_t ConstrainTPCInner(AliExternalTrackParam *const tpcInnerC, const AliESDVertex* vtx, Double_t* b)
 Constrain TPC inner params constrained

Bool_t ConstrainTrackInner(AliExternalTrackParam *const trackInnerC, const AliESDVertex* vtx, Double_t mass, Double_t* b)
 Constrain TPC inner params constrained

TParticle * GetMother(TParticle *const particle, AliStack *const stack)
Bool_t IsFromConversion(Int_t label, AliStack *const stack)
Bool_t IsFromMaterial(Int_t label, AliStack *const stack)
Bool_t IsFromStrangeness(Int_t label, AliStack *const stack)
void FinishTaskOutput()
 Called one at the end
 locally on working node

void Terminate(Option_t* )
 Called one at the end

Int_t GetMCTrueTrackMult(AliMCEvent *const mcEvent, AliFilteredTreeEventCuts *const evtCuts, AliFilteredTreeAcceptanceCuts *const accCuts)
 calculate mc event true track multiplicity

void FillHistograms(AliESDtrack *const ptrack, AliExternalTrackParam *const ptpcInnerC, Double_t centralityF, Double_t chi2TPCInnerC)
 Fill pT relative resolution histograms for
 TPC only, TPC only constrained to vertex and TPC+ITS tracking

void ProcessITSTPCmatchOut(AliESDEvent *const esdEvent = 0, AliESDfriend *const esdFriend = 0)
 Process ITS standalone tracks find match with closest TPC(or combined tracks) tracks
 marian.ivanov@cern.ch
 0.) Init variables
 1.) GetTrack parameters at TPC inner wall
 2.) Match closest TPC  track  (STANDALONE/global) - chi2 match criteria

 Logic to be used in reco:
 1.) Find matching ITSalone->TPCalone
 2.) if (!TPCalone.FindClose(TPCother))  TPCalone.Addopt(ITSalone)
 3.) ff ((ITSalone.FindClose(Global)==0) CreateGlobaltrack
void ProcessTrackMatch(AliESDEvent *const esdEvent = 0, AliESDfriend *const esdFriend = 0)
    Use TPC standalone, ITS standalone and combined tracks to categorize/resp. recover track information.

    Track categories:
       -TPC+ITS
       -TPC only
       -ITS only
    Topology categories:
       -Nice isolated tracks with full information
       -Overlapped tracks - Refit and sign them
       -Multiple found (check overlap factor) - Merge and sign
       -Charge particle (kink) decays - Change of direction - Sign them)
    Info:
       -Array  of indexes of closest tracks in each individual category
       -Chi2  distance to the closest tracks at reference radius of TPCin
       -Overlap factors  - fraction of shared clusters or missing  region
       -Chi2 distance at DCA
    Information matrix:
       -matrix closest tracks from each categories
       -characterization - chi2, index,chi2,  overlap ratio

    Decissions:
       0.) Kink decay or catastophic multiple scaterring
           (combining all track categories)
              - small chi2 at the DCA
              - significantly large deflection angle
              - Combinatorial algorithm - to decrease CPU time restriction of investigation to tracks with small DCA at  refernce radius

       1.) if (TPConly && !(TPC+ITS) && ITSonly match ) {
             if (!kink) TPCOnly.addoptITS
             if (kink) TPConly sign
           }

       2.) Overlap tracks - Refit with doUnfold


AliAnalysisTaskFilteredTree(const char* name = "AliAnalysisTaskFilteredTree")
void SetUseMCInfo(Bool_t info)
{ fUseMCInfo = info; }
Bool_t IsUseMCInfo() const
{ return (fMC)?kTRUE:kFALSE; }
void SetUseESDfriends(Bool_t friends)
{ fUseESDfriends = friends; }
Bool_t IsUseESDfriends() const
{ return fUseESDfriends; }
void SetEventCuts(AliFilteredTreeEventCuts *const cuts)
void SetAcceptanceCuts(AliFilteredTreeAcceptanceCuts *const cuts)
void SetRecAcceptanceCuts(AliFilteredTreeAcceptanceCuts *const cuts)
void SetTrackCuts(AliESDtrackCuts *const cuts)
{ fEsdTrackCuts = cuts; }
void SetTrigger(const AliTriggerAnalysis::Trigger trigger)
{ fTrigger = trigger; }
void SetAnalysisMode(AliAnalysisTaskFilteredTree::EAnalysisMode mode)
{ fAnalysisMode = mode; }
AliFilteredTreeEventCuts* GetEventCuts() const
AliFilteredTreeAcceptanceCuts* GetAcceptanceCuts() const
AliFilteredTreeAcceptanceCuts* GetRecAcceptanceCuts() const
AliESDtrackCuts* GetTrackCuts() const
{ return fEsdTrackCuts; }
AliTriggerAnalysis::Trigger GetTrigger() const
{ return fTrigger; }
EAnalysisMode GetAnalysisMode() const
{ return fAnalysisMode; }
TString GetCentralityEstimator() const
void SetCentralityEstimator(TString centEst = "V0M")
{ fCentralityEstimator = centEst; }
void SetLowPtTrackDownscaligF(Double_t fact)
void SetLowPtV0DownscaligF(Double_t fact)
void SetFriendDownscaling(Double_t fact)
{ fFriendDownscaling = fact; }
void SetProcessCosmics(Bool_t flag)
{ fProcessCosmics = flag; }
Bool_t GetProcessCosmics()
{ return fProcessCosmics; }
void SetProcessProcessITSTPCmatchOut(Bool_t flag)
Bool_t GetProcessProcessITSTPCmatchOut()
void SetProcessAll(Bool_t proc)
{ fProcessAll = proc; }
void SetFillTrees(Bool_t filltree)
{ fFillTree = filltree ;}
Bool_t GetFillTrees()
{ return fFillTree ;}
AliAnalysisTaskFilteredTree& operator=(const AliAnalysisTaskFilteredTree& )