ROOT logo
AliRoot » PWGLF » RESONANCES » AliRsnMiniOutput

class AliRsnMiniOutput: public TNamed

Function Members (Methods)

public:
AliRsnMiniOutput()
AliRsnMiniOutput(const AliRsnMiniOutput& copy)
AliRsnMiniOutput(const char* name, AliRsnMiniOutput::EOutputType type, AliRsnMiniOutput::EComputation src = kTrackPair)
AliRsnMiniOutput(const char* name, const char* outType, const char* compType)
~AliRsnMiniOutput()
voidTObject::AbstractMethod(const char* method) const
voidAddAxis(Int_t id, Int_t nbins, Double_t* values)
voidAddAxis(Int_t id, Int_t nbins, Double_t min, Double_t max)
voidAddAxis(Int_t id, Double_t min, Double_t max, Double_t step)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTNamed::Copy(TObject& named) 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
virtual voidTNamed::FillBuffer(char*& buffer)
Bool_tFillEvent(AliRsnMiniEvent* event, TClonesArray* valueList)
Bool_tFillMother(const AliRsnMiniPair* pair, AliRsnMiniEvent* event, TClonesArray* valueList)
Bool_tFillMotherInAcceptance(const AliRsnMiniPair* pair, AliRsnMiniEvent* event, TClonesArray* valueList)
Int_tFillPair(AliRsnMiniEvent* event1, AliRsnMiniEvent* event2, TClonesArray* valueList, Bool_t refFirst = kTRUE)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
Double_t*GetAllComputed()
AliRsnMiniAxis*GetAxis(Int_t i)
Int_tGetCharge(Int_t i) const
AliRsnMiniOutput::EComputationGetComputation() const
Int_tGetCutID(Int_t i) const
RSNPIDGetDaughter(Int_t i) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
Bool_tGetFillHistogramOnlyInRange()
virtual const char*TObject::GetIconName() const
Double_tGetMass(Int_t i) const
Short_tGetMaxNSisters()
Double_tGetMotherMass() const
Int_tGetMotherPDG() const
virtual const char*TNamed::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
AliRsnMiniOutput::EOutputTypeGetOutputType() const
Int_tGetPDG(Int_t i) const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
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
Bool_tInit(const char* prefix, TList* list)
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
Bool_tIsDefined() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
Bool_tIsEventOnly() const
virtual Bool_tTObject::IsFolder() const
Bool_tIsLikeSign() const
Bool_tIsMother() const
Bool_tIsMotherInAcc() const
Bool_tTObject::IsOnHeap() const
Bool_tIsSameCut() const
Bool_tIsSameDaughter() const
virtual Bool_tTNamed::IsSortable() const
Bool_tIsSymmetric() const
Bool_tIsTrackPair() const
Bool_tIsTrackPairMix() const
Bool_tIsTruePair() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
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)
AliRsnMiniOutput&operator=(const AliRsnMiniOutput& copy)
virtual voidTObject::Paint(Option_t* option = "")
AliRsnMiniPair&Pair()
virtual voidTObject::Pop()
virtual voidTNamed::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)
voidSetCharge(Int_t i, Char_t value)
voidSetCheckFeedDown(Bool_t checkFeedDown)
voidSetCheckMomentumConservation(Bool_t checkP)
voidSetComputation(AliRsnMiniOutput::EComputation src)
voidSetCutID(Int_t i, Int_t value)
voidSetDaughter(Int_t i, RSNPID value)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
voidSetDselection(UShort_t originDselection)
static voidTObject::SetDtorOnly(void* obj)
voidSetFillHistogramOnlyInRange(Bool_t fillInRangeOnly)
voidSetMaxNSisters(Short_t n)
voidSetMotherMass(Double_t mass)
voidSetMotherPDG(Int_t pdg)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetOutputType(AliRsnMiniOutput::EOutputType type)
voidSetPairCuts(AliRsnCutSet* set)
voidSetRejectCandidateIfNotFromQuark(Bool_t opt)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
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
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()
private:
voidComputeValues(AliRsnMiniEvent* event, TClonesArray* valueList)
voidCreateHistogram(const char* name)
voidCreateHistogramSparse(const char* name)
voidFillHistogram()

Data Members

public:
enum EOutputType { kHistogram
kHistogramSparse
kTypes
};
enum EComputation { kEventOnly
kTrackPair
kTrackPairMix
kTrackPairRotated1
kTrackPairRotated2
kTruePair
kMother
kMotherInAcc
kComputations
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
TStringTNamed::fNameobject identifier
TStringTNamed::fTitleobject title
private:
TClonesArrayfAxesdefinitions for the axes of each value
Char_tfCharge[2]required track charge
Bool_tfCheckFeedDownflag to set in order to check the particle feed down (specific for D meson analysis)
Bool_tfCheckHistRangecheck if values is in histogram range
Bool_tfCheckPflag to set in order to check the momentum conservation for daughters
AliRsnMiniOutput::EComputationfComputationtype of computation
TArrayDfComputed! temporary container for all computed values
Int_tfCutID[2]ID of cut set used to select tracks
RSNPIDfDaughter[2]species of daughters
Bool_tfKeepDfromBflag for the feed down from b quark decay (specific for D meson analysis)
Bool_tfKeepDfromBOnlyflag to keep only the charm particles that comes from beauty decays (specific for D meson analysis)
TList*fList! pointer to the TList containing the output
Short_tfMaxNSistersmaximum number of allowed mother's daughter
Double_tfMotherMassnominal resonance mass
Int_tfMotherPDGPDG code of resonance
UShort_tfOriginDselectionflag to select D0 origins. 0 Only from charm 1 only from beauty 2 both from charm and beauty (specific for D meson analysis)
Int_tfOutputIDindex of output object in container list
AliRsnMiniOutput::EOutputTypefOutputTypetype of output
AliRsnMiniPairfPair! minipair for computations
AliRsnCutSet*fPairCutscuts on the pair
Bool_tfRejectIfNoQuarkflag to remove events not generated with PYTHIA
TArrayIfSel1! list of selected particles for definition 1
TArrayIfSel2! list of selected particles for definition 2

Class Charts

Inheritance Chart:
TNamed
AliRsnMiniOutput

Function documentation

AliRsnMiniOutput()
 Constructor

AliRsnMiniOutput(const char *name, EOutputType type, EComputation src)
 Constructor

AliRsnMiniOutput(const char* name, const char* outType, const char* compType)
 Constructor, with a more user friendly implementation, where
 the user sets the type of output and computations through conventional strings:

 Output:
    -- "HIST"    --> common histogram (up to 3 dimensions)
    -- "SPARSE"  --> sparse histogram

 Computation:
    -- "EVENT"   --> event-only computations
    -- "PAIR"    --> track pair computations (default)
    -- "MIX"     --> event mixing (like track pair, but different events)
    -- "ROTATE1" --> rotated background (rotate first track)
    -- "ROTATE2" --> rotated background (rotate second track)
    -- "TRUE"    --> true pairs (like track pair, but checking that come from same mother)
    -- "MOTHER"  --> mother (loop on MC directly for mothers --> denominator of efficiency)
    -- "MOTHER_IN_ACC"  --> mother (loop on MC directly for mothers (in a defined acceptance interval)--> needed for efficiency calcutation using  an enriched sample)

AliRsnMiniOutput(const AliRsnMiniOutput& copy)
 Copy constructor

AliRsnMiniOutput & operator=(const AliRsnMiniOutput& copy)
 Assignment operator

void AddAxis(Int_t id, Int_t nbins, Double_t min, Double_t max)
 Create a new axis reference

void AddAxis(Int_t id, Double_t min, Double_t max, Double_t step)
 Create a new axis reference

void AddAxis(Int_t id, Int_t nbins, Double_t* values)
 Create a new axis reference

Bool_t Init(const char* prefix, TList* list)
 Initialize properly the histogram and add it to the argument list

void CreateHistogram(const char* name)
 Initialize the 'default' TH1 output object.
 In case one of the expected axes is NULL, the initialization fails.

void CreateHistogramSparse(const char* name)
 Initialize the THnSparse output object.
 In case one of the expected axes is NULL, the initialization fails.

Bool_t FillEvent(AliRsnMiniEvent* event, TClonesArray* valueList)
 Compute values for event-based computations (does not use the pair)

Bool_t FillMother(const AliRsnMiniPair* pair, AliRsnMiniEvent* event, TClonesArray* valueList)
 Compute values for mother-based computations

Bool_t FillMotherInAcceptance(const AliRsnMiniPair* pair, AliRsnMiniEvent* event, TClonesArray* valueList)
 Compute values for mother-based computations

Int_t FillPair(AliRsnMiniEvent* event1, AliRsnMiniEvent* event2, TClonesArray* valueList, Bool_t refFirst = kTRUE)
 Loops on the passed mini-event, and for each pair of particles
 which satisfy the charge and cut requirements defined here, add an entry.
 Returns the number of successful fillings.
 Last argument tells if the reference event for event-based values is the first or the second.

void SetDselection(UShort_t originDselection)
 setting the way the D0 will be selected
 0 --> only from c quarks
 1 --> only from b quarks
 2 --> from both c quarks and b quarks
void ComputeValues(AliRsnMiniEvent* event, TClonesArray* valueList)
 Using the arguments and the internal 'fPair' data member,
 compute all values to be stored in the histogram

void FillHistogram()
 Fills the internal histogram using the current values stored in the
 'fComputed' array, in the order as they are stored, up to the max
 dimension of the initialized histogram itself.

Bool_t IsEventOnly() const
{return (fComputation == kEventOnly);}
Bool_t IsTrackPair() const
{return (fComputation == kTrackPair);}
Bool_t IsTrackPairMix() const
Bool_t IsTruePair() const
{return (fComputation == kTruePair);}
Bool_t IsMother() const
{return (fComputation == kMother);}
Bool_t IsMotherInAcc() const
{return (fComputation == kMotherInAcc);}
Bool_t IsDefined() const
{return (IsEventOnly() || IsTrackPair() || IsTrackPairMix() || IsTruePair() || IsMother());}
Bool_t IsLikeSign() const
{return (fCharge[0] == fCharge[1]);}
Bool_t IsSameCut() const
{return (fCutID[0] == fCutID[1]);}
Bool_t IsSameDaughter() const
Bool_t          IsSymmetric()        const {return (IsLikeSign() && IsSameCut());}
{return (fDaughter[0] == fDaughter[1]);}
Bool_t IsSymmetric() const
{return (IsLikeSign() && IsSameDaughter());}
EOutputType GetOutputType() const
{return fOutputType;}
EComputation GetComputation() const
{return fComputation;}
Int_t GetCutID(Int_t i) const
{if (i <= 0) return fCutID [0]; else return fCutID [1];}
RSNPID GetDaughter(Int_t i) const
{if (i <= 0) return fDaughter[0]; else return fDaughter[1];}
Double_t GetMass(Int_t i) const
Int_t GetPDG(Int_t i) const
Int_t GetCharge(Int_t i) const
{if (i <= 0) return fCharge[0]; else return fCharge[1];}
Int_t GetMotherPDG() const
{return fMotherPDG;}
Double_t GetMotherMass() const
{return fMotherMass;}
Bool_t GetFillHistogramOnlyInRange()
{ return fCheckHistRange; }
Short_t GetMaxNSisters()
{return fMaxNSisters;}
void SetOutputType(AliRsnMiniOutput::EOutputType type)
{fOutputType = type;}
void SetComputation(AliRsnMiniOutput::EComputation src)
{fComputation = src;}
void SetCutID(Int_t i, Int_t value)
{if (i <= 0) fCutID [0] = value; else fCutID [1] = value;}
void SetDaughter(Int_t i, RSNPID value)
{if (i <= 0) fDaughter[0] = value; else fDaughter[1] = value;}
void SetCharge(Int_t i, Char_t value)
{if (i <= 0) fCharge[0] = value; else fCharge[1] = value;}
void SetMotherPDG(Int_t pdg)
{fMotherPDG = pdg;}
void SetMotherMass(Double_t mass)
{fMotherMass = mass;}
void SetPairCuts(AliRsnCutSet* set)
{fPairCuts = set;}
void SetFillHistogramOnlyInRange(Bool_t fillInRangeOnly)
{ fCheckHistRange = fillInRangeOnly; }
void SetMaxNSisters(Short_t n)
void SetCheckMomentumConservation(Bool_t checkP)
{fCheckP = checkP;}
void SetCheckFeedDown(Bool_t checkFeedDown)
{fCheckFeedDown = checkFeedDown;}
void SetRejectCandidateIfNotFromQuark(Bool_t opt)
AliRsnMiniAxis * GetAxis(Int_t i)
{if (i >= 0 && i < fAxes.GetEntries()) return (AliRsnMiniAxis *)fAxes[i]; return 0x0;}
Double_t * GetAllComputed()
{return fComputed.GetArray();}