ROOT logo
AliRoot » PWGPP » TPC » AliMaterialBudget

class AliMaterialBudget: public AliAnalysisTask

Function Members (Methods)

public:
AliMaterialBudget()
AliMaterialBudget(const char* name)
virtual~AliMaterialBudget()
virtual voidTTask::Abort()MENU
voidTObject::AbstractMethod(const char* method) const
virtual voidTTask::Add(TTask* task)
virtual voidTObject::AppendPad(Option_t* option = "")
Bool_tAliAnalysisTask::AreSlotsConnected()
virtual voidTTask::Browse(TBrowser* b)
Bool_tAliAnalysisTask::CheckCircularDeps()
voidAliAnalysisTask::CheckNotify(Bool_t init = kFALSE)
virtual Bool_tAliAnalysisTask::CheckOwnership() const
virtual Bool_tAliAnalysisTask::CheckPostData() const
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTTask::CleanTasks()
virtual voidTTask::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
Bool_tAliAnalysisTask::ConnectInput(Int_t islot, AliAnalysisDataContainer* cont)
virtual voidConnectInputData(Option_t*)
Bool_tAliAnalysisTask::ConnectOutput(Int_t islot, AliAnalysisDataContainer* cont)
virtual voidTTask::Continue()MENU
virtual voidTNamed::Copy(TObject& named) const
virtual voidCreateOutputObjects()
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidExec(Option_t* option)
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTTask::ExecuteTask(Option_t* option = "0")MENU
virtual voidTTask::ExecuteTasks(Option_t* option)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
voidFindPairs(AliESDEvent* event)
virtual voidFinishTaskOutput()
voidFitTrackRefs(TParticle* part, TClonesArray* trefs)
AliTrackReference*GetAllTOFinfo(AliMCParticle* mcParticle, Int_t& nTrackRef, Int_t& nTrackRefITS, Int_t retValue = 0)
voidAliAnalysisTask::GetBranches(const char* type, TString& result) const
Int_tTTask::GetBreakin() const
Int_tTTask::GetBreakout() const
Int_tGetDebugLevel() const
TTreeSRedirector*GetDebugStreamer()
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
AliTrackReference*GetFirstTPCTrackRef(AliMCParticle* mcParticle)
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
Int_tGetStreamLevel() 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 voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
Bool_tTTask::IsActive() const
Bool_tAliAnalysisTask::IsChecked() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTTask::IsFolder() const
Bool_tAliAnalysisTask::IsInitialized() const
Bool_tTObject::IsOnHeap() const
Bool_tAliAnalysisTask::IsOutputReady(Int_t islot) const
Bool_tIsPair(AliExternalTrackParam* tr0, AliExternalTrackParam* tr1)
Bool_tAliAnalysisTask::IsPostEventLoop() const
Bool_tAliAnalysisTask::IsReady() const
virtual Bool_tTNamed::IsSortable() const
Bool_tAliAnalysisTask::IsUsed() const
Bool_tAliAnalysisTask::IsZombie() const
virtual voidAliAnalysisTask::LocalInit()
virtual voidTTask::ls(Option_t* option = "*") constMENU
static AliExternalTrackParam*MakeTrack(const AliTrackReference* ref, TParticle* part)
voidTObject::MayNotUse(const char* method) const
virtual Bool_tAliAnalysisTask::Notify()
virtual Bool_tAliAnalysisTask::NotifyBinChange()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
voidAliAnalysisTask::PrintContainers(Option_t* option = "all", Int_t indent = 0) const
virtual voidAliAnalysisTask::PrintTask(Option_t* option = "all", Int_t indent = 0) const
voidProcessMCInfo()
voidProcessRefTracker(AliTrackReference* refIn, AliTrackReference* refOut, TParticle* part, Int_t type)
Bool_tAliAnalysisTask::ProducersTouched() const
static Bool_tPropagateCosmicToDCA(AliExternalTrackParam* param0, AliExternalTrackParam* param1, Double_t mass)
static Bool_tPropagateToPoint(AliExternalTrackParam* param, Double_t* xyz, Double_t mass, Float_t step)
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 = "")
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)
voidSetDebugLevel(Int_t level)
voidSetDebugOuputhPath(const char* name)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
voidAliAnalysisTask::SetPostEventLoop(Bool_t flag = kTRUE)
voidSetStreamLevel(Int_t streamLevel)
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*)
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
AliMaterialBudget(const AliMaterialBudget&)
voidAliAnalysisTask::DefineInput(Int_t islot, TClass* type)
voidAliAnalysisTask::DefineOutput(Int_t islot, TClass* type)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidAliAnalysisTask::EnableBranch(Int_t islot, const char* bname) const
char*AliAnalysisTask::GetBranchAddress(Int_t islot, const char* branch) const
voidTObject::MakeZombie()
TFile*AliAnalysisTask::OpenFile(Int_t iout, Option_t* option = "RECREATE") const
AliMaterialBudget&operator=(const AliMaterialBudget&)
Bool_tAliAnalysisTask::PostData(Int_t iout, TObject* data, Option_t* option = "")
voidRegisterDebugOutput()
Bool_tAliAnalysisTask::SetBranchAddress(Int_t islot, const char* branch, void* address) const

Data Members

protected:
Bool_tTTask::fActivetrue if task is active
TStringAliAnalysisTask::fBranchNamesList of input branches that need to be loaded for this task
Int_tTTask::fBreakin=1 if a break point set at task extry
Int_tTTask::fBreakout=1 if a break point set at task exit
Float_tfCutMaxDmaximal distance in rfi ditection
Float_tfCutMaxDzmaximal distance in z ditection
Float_tfCutMinDirdirection vector products
Float_tfCutThetamaximal distance in theta ditection
Int_tfDebugLeveldebug level
TStringfDebugOutputPathdebug output path
TTreeSRedirector*fDebugStreamer! debug streamer
AliESDEvent*fESD! current esd event
Bool_tTTask::fHasExecutedTrue if task has executed
TH1F*fHistMulttrack multiplicity histograms
Bool_tAliAnalysisTask::fInitializedTrue if Init() was called
TObjArray*AliAnalysisTask::fInputsArray of input slots
TList*fListHistlist for histograms
AliMCEvent*fMCinfo! MC event handler
TStringTNamed::fNameobject identifier
Int_tAliAnalysisTask::fNinputsNumber of inputs
Int_tAliAnalysisTask::fNoutputsNumber of outputs
TStringTTask::fOptionOption specified in ExecuteTask
Bool_t*AliAnalysisTask::fOutputReady[fNoutputs] Flags for output readyness
TObjArray*AliAnalysisTask::fOutputsArray of output slots
TObject*AliAnalysisTask::fPublishedData! published data
Bool_tAliAnalysisTask::fReadyFlag if the task is ready
Int_tfStreamLeveldebug stream level
TList*TTask::fTasksList of Tasks
TStringTNamed::fTitleobject title
static TTask*TTask::fgBeginTaskpointer to task initiator
static TTask*TTask::fgBreakPointpointer to current break point

Class Charts

Inheritance Chart:
TTask
AliAnalysisTask
AliMaterialBudget

Function documentation

AliMaterialBudget()
 Default constructor (should not be used)

AliMaterialBudget(const AliMaterialBudget& )

 Default constructor

AliMaterialBudget(const char* name)
 Normal constructor

 Input slot #0 works with a TChain
~AliMaterialBudget()


void ConnectInputData(Option_t* )
 Connect the input data

void CreateOutputObjects()
 Connect the output objects

void Exec(Option_t* option)
 Execute analysis for current event

void Terminate(Option_t* )
 Terminate loop

TTreeSRedirector * GetDebugStreamer()
 Get Debug streamer
 In case debug streamer not yet initialized and StreamLevel>0 create new one

AliExternalTrackParam * MakeTrack(const AliTrackReference* ref, TParticle* part)
 Make track out of the track ref
 part - TParticle used to determine chargr
 the covariance matrix - equal 0 - starting from ideal MC position
Bool_t PropagateToPoint(AliExternalTrackParam* param, Double_t* xyz, Double_t mass, Float_t step)
 Propagate track to point xyz using
 AliTracker::PropagateTo functionality

  param - track parameters
  xyz   - position to propagate
  mass  - particle mass
  step  - step to be used
void ProcessMCInfo()



void ProcessRefTracker(AliTrackReference* refIn, AliTrackReference* refOut, TParticle* part, Int_t type)
 Test propagation from In to out

void FitTrackRefs(TParticle* part, TClonesArray* trefs)



void FindPairs(AliESDEvent* event)
 This function matches the cosmic tracks and calculates the energy loss in the material.
 If accessible the "true" energy loss is determined with the MC track references.


 Find cosmic pairs

 Track0 is choosen in upper TPC part
 Track1 is choosen in lower TPC part

Bool_t IsPair(AliExternalTrackParam* tr0, AliExternalTrackParam* tr1)


  // 0. Same direction - OPOSITE  - cutDir +cutT
  TCut cutDir("cutDir","dir<-0.99")
  // 1.
  TCut cutT("cutT","abs(Tr1.fP[3]+Tr0.fP[3])<0.03")
  //
  // 2. The same rphi
  TCut cutD("cutD","abs(Tr0.fP[0]+Tr1.fP[0])<5")
  //
  //
  //
  TCut cutPt("cutPt","abs(Tr1.fP[4]+Tr0.fP[4])<1&&abs(Tr0.fP[4])+abs(Tr1.fP[4])<10");
  // 1/Pt diff cut

AliTrackReference * GetFirstTPCTrackRef(AliMCParticle* mcParticle)
 return first TPC track reference
AliTrackReference * GetAllTOFinfo(AliMCParticle* mcParticle, Int_t& nTrackRef, Int_t& nTrackRefITS, Int_t retValue = 0)


void FinishTaskOutput()
 According description in AliAnalisysTask this method is call
 on the slaves before sending data

void RegisterDebugOutput()



 store  - copy debug output to the destination position
 currently ONLY for local copy
Bool_t PropagateCosmicToDCA(AliExternalTrackParam* param0, AliExternalTrackParam* param1, Double_t mass)
 param0 - upper part of cosmic track
 param1 - lower part of cosmic track

 0. Propagate both tracks to DCA to (0,0,0)
 1. After propagation to DCA rotate track param1 to corrdinate system of track1 <-> rotate param0 to coordinate system of param 1 ????
 2. Propagate track 1 to refernce x from track0

void SetDebugOuputhPath(const char* name)
void SetStreamLevel(Int_t streamLevel)
{fStreamLevel=streamLevel;}
void SetDebugLevel(Int_t level)
{fDebugLevel = level;}
Int_t GetStreamLevel() const
{return fStreamLevel;}
Int_t GetDebugLevel() const
{return fDebugLevel;}
AliMaterialBudget& operator=(const AliMaterialBudget& )
{ return *this;}