ROOT logo
AliRoot » ANALYSIS » AliCollisionNormalization

class AliCollisionNormalization: public TObject

                      Implementation of   Class AliCollisionNormalization

  This class is used to store the vertex ditributions in the data
  and in Monte Carlo, needed to compute the real number of
  collisions a given sample is corresponding to.
  The strategy matches what described in CERN-THESIS-2009-033 p 119.

    Author:     Michele Floris, CERN

Function Members (Methods)

public:
AliCollisionNormalization()
AliCollisionNormalization(Int_t nbinz, Float_t minz, Float_t maxz)
AliCollisionNormalization(const char* dataFile, const char* dataListName, const char* mcFile, const char* mcListName, const char* eventStatFile)
virtual~AliCollisionNormalization()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
voidBookAllHistos()
TH1*BookVzHisto(const char* name, const char* title, Bool_t vzOnly = kFALSE)
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
Double_tComputeNint()
virtual voidTObject::Copy(TObject& object) 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 voidTObject::Error(const char* method, const char* msgfmt) const
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 voidTObject::Fatal(const char* method, const char* msgfmt) const
voidFillVzData(Float_t vz, Int_t ntrk)
voidFillVzMCGen(Float_t vz, Int_t ntrk, AliMCEvent* mcEvt)
voidFillVzMCRec(Float_t vz, Int_t ntrk, AliMCEvent* mcEvt)
voidFillVzMCTrg(Float_t vz, Int_t ntrk, AliMCEvent* mcEvt)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
Double_tGetAllEvents() const
Double_tGetAllEventsInBin0ZRange() const
Double_tGetAllEventsZRange() const
Double_tGetAllEventsZRangeMult1() const
Double_tGetBgEvents() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
TH1F*GetHistProcTypes()
virtual const char*TObject::GetIconName() const
Double_tGetInputEvents() const
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Double_tGetPhysSelEvents() const
Int_tGetProcessType(const AliMCEvent* mcEvt)
Double_tGetProcessWeight(Int_t proctype)
voidGetRelativeFractions(Int_t origin, Float_t& ref_SD, Float_t& ref_DD, Float_t& ref_ND, Float_t& error_SD, Float_t& error_DD, Float_t& error_ND)
TH1F*GetStat()
TH1F*GetStatBin0()
virtual const char*TObject::GetTitle() const
Double_tGetTrigEffBin0() const
virtual UInt_tTObject::GetUniqueID() const
TH2F*GetVzData()
TH2F*GetVzMCGen(Int_t procType)
TH2F*GetVzMCRec(Int_t procType)
TH2F*GetVzMCTrg(Int_t procType)
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::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
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
Long64_tMerge(TCollection* list)
virtual Bool_tTObject::Notify()
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 voidTObject::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
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 = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetEnergy(Float_t en)
voidSetMC(Bool_t flag = kTRUE)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetReferenceXS(Int_t ref)
voidSetReferencsXS(Int_t ref)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidSetVerbose(Int_t lev)
voidSetZRange(Float_t zrange)
virtual voidShowMembers(TMemberInspector&)
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
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:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()

Data Members

public:
enum { kNevBin0
kNevCollisions
kNevNbin
};
enum ProcType_t { kProcSD
kProcDD
kProcND
kProcUnknown
kNProcs
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
Double_tfAllEventsnumber of corrected events
Double_tfAllEventsInBin0ZRangenumber of corrected events in bin0 in z range
Double_tfAllEventsZRangenumber of corrected events in z range
Double_tfAllEventsZRangeMult1number of corrected events with multiplicity larger 1 in z range
Double_tfBgEventsnumber of background events
Float_tfEnergyBeam energy in GeV. Defaults to 900.
TH1F*fHistProcTypesNumber of evts for different Process types
TH1F*fHistStatevent stat histogram, created by physiscs selection; used in ComputeNint;
TH1F*fHistStatBin0event stat histogram, created by physiscs selection; used in ComputeNint;
TH2F*fHistVzDataVz distribution of triggered events vs rec multiplicity
TH2F*fHistVzMCGen[4]Vz distribution of generated events vs rec multiplicity
TH2F*fHistVzMCRec[4]Vz distribution of reconstructed events vs rec multiplicity
TH2F*fHistVzMCTrg[4]Vz distribution of triggered events vs rec multiplicity
Double_tfInputEventsnumber of Input Events
Bool_tfIsMCTrue if processing MC
Float_tfMaxVzhighest Z
Float_tfMinVzlowest Z
Int_tfNbinsVznumber of z bins in the vz histo
Double_tfPhysSelEventsnumber of Events after Physics Selection
Int_tfReferenceXSindex of reference cross section to be used to rescale process types in the calculation of the efficiency
Double_tfTrigEffBin0trigger efficiency in Bin0
Int_tfVerboseDetermines the ammount of printout
Float_tfZRangemax |Z| vertex to be considered
static const char*fgkProcLabel[2147483647]labels of the different process types

Class Charts

Inheritance Chart:
TObject
AliCollisionNormalization

Function documentation

AliCollisionNormalization()
AliCollisionNormalization(Int_t nbinz, Float_t minz, Float_t maxz)
AliCollisionNormalization(const char* dataFile, const char* dataListName, const char* mcFile, const char* mcListName, const char* eventStatFile)
~AliCollisionNormalization()
void BookAllHistos()
 books all histos
 Book histos of vz distributions vs multiplicity
 if vzOnly == kTRUE, it returns a 1d histo with vz dist only
TH1 * BookVzHisto(const char* name, const char* title, Bool_t vzOnly = kFALSE)
TH2F * GetVzMCGen(Int_t procType)
TH2F * GetVzMCRec(Int_t procType)
TH2F * GetVzMCTrg(Int_t procType)
Double_t ComputeNint()
Long64_t Merge(TCollection* list)
 Merge a list of AliCollisionNormalization objects with this
 (needed for PROOF).
 Returns the number of merged objects (including this).
void FillVzMCGen(Float_t vz, Int_t ntrk, AliMCEvent* mcEvt)
void FillVzMCRec(Float_t vz, Int_t ntrk, AliMCEvent* mcEvt)
void FillVzMCTrg(Float_t vz, Int_t ntrk, AliMCEvent* mcEvt)
Int_t GetProcessType(const AliMCEvent* mcEvt)
Double_t GetProcessWeight(Int_t proctype)
void GetRelativeFractions(Int_t origin, Float_t& ref_SD, Float_t& ref_DD, Float_t& ref_ND, Float_t& error_SD, Float_t& error_DD, Float_t& error_ND)
 Returns fraction of XS (SD, ND, DD) and corresponding error
 Stolen from Jan Fiete's drawSystematics macro
AliCollisionNormalization()
void SetMC(Bool_t flag = kTRUE)
{ fIsMC = flag;}
void FillVzData(Float_t vz, Int_t ntrk)
{fHistVzData ->Fill(vz,ntrk);}
TH2F * GetVzData()
{ return fHistVzData ; }
TH1F * GetStatBin0()
{ return fHistStatBin0 ; }
TH1F * GetStat()
{ return fHistStat ; }
TH1F * GetHistProcTypes()
{ return fHistProcTypes ; }
void SetReferencsXS(Int_t ref)
{ fReferenceXS = ref;}
void SetZRange(Float_t zrange)
{ fZRange = zrange ;}
void SetReferenceXS(Int_t ref)
{ fReferenceXS = ref ;}
void SetVerbose(Int_t lev)
{ fVerbose = lev ;}
void SetEnergy(Float_t en)
{ fEnergy = en; }
Double_t GetInputEvents() const
{return fInputEvents;}
Double_t GetPhysSelEvents() const
{return fPhysSelEvents;}
Double_t GetBgEvents() const
{return fBgEvents;}
Double_t GetAllEvents() const
{return fAllEvents;}
Double_t GetAllEventsZRange() const
Double_t GetAllEventsZRangeMult1() const
Double_t GetAllEventsInBin0ZRange() const
Double_t GetTrigEffBin0() const
{return fTrigEffBin0;}
AliCollisionNormalization& operator=(const AliCollisionNormalization& )