Class to perform pt-spectra (and ptMin-spectra) extraction of mothers particles starting from measured pt-spectra of daughter particles that come from inclusive decays. E.g.: B->J/psi+X , B->e+X, B->D0+X, etc. In order to use this class, one first has to run a simulation (only kinematics) of the decay channel under study. The analysis can be runned using the class AliAnalysisTaskPtMothFromPtDaugh which loops on events to create a TNtupla that stores just kinematics informations for mothers and daughters of the decay under study (this is made in order to speed up). Therefore the standard inputs of this class are: (1) The TNtupla (created by the task using a TChain of galice.root) (2) pT-spectrum of the daughter particles Output would be the pT (and pTMin) spectrum of the mother, based on the correction factors computed from the Kinematics.root files Authors: Giuseppe E. Bruno & Fiorella Fionda (Giuseppe.Bruno@ba.infn.it) (Fiorella.Fionda@ba.infn.it)
AliPtMothFromPtDaugh() | |
AliPtMothFromPtDaugh(const char* name, const char* title) | |
virtual | ~AliPtMothFromPtDaugh() |
void | TObject::AbstractMethod(const char* method) const |
virtual void | TObject::AppendPad(Option_t* option = "") |
virtual void | TObject::Browse(TBrowser* b) |
static TClass* | Class() |
virtual const char* | TObject::ClassName() const |
virtual void | TNamed::Clear(Option_t* option = "") |
virtual TObject* | TNamed::Clone(const char* newname = "") const |
virtual Int_t | TNamed::Compare(const TObject* obj) const |
virtual void | TNamed::Copy(TObject& named) const |
Bool_t | CreateWeights() |
Bool_t | CutDaugh(Double_t yD, Double_t ptD) |
virtual void | TObject::Delete(Option_t* option = "")MENU |
void | DeleteWeights() |
virtual Int_t | TObject::DistancetoPrimitive(Int_t px, Int_t py) |
virtual void | TObject::Draw(Option_t* option = "") |
virtual void | TObject::DrawClass() constMENU |
virtual TObject* | TObject::DrawClone(Option_t* option = "") constMENU |
virtual void | TObject::Dump() constMENU |
virtual void | TObject::Error(const char* method, const char* msgfmt) const |
Bool_t | EvaluatePtMoth() |
virtual void | TObject::Execute(const char* method, const char* params, Int_t* error = 0) |
virtual void | TObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0) |
virtual void | TObject::ExecuteEvent(Int_t event, Int_t px, Int_t py) |
virtual void | TObject::Fatal(const char* method, const char* msgfmt) const |
virtual void | TNamed::FillBuffer(char*& buffer) |
virtual TObject* | TObject::FindObject(const char* name) const |
virtual TObject* | TObject::FindObject(const TObject* obj) const |
Double_t* | GetBinsSize(const TH1F* hist, Int_t& n) const |
virtual Option_t* | TObject::GetDrawOption() const |
static Long_t | TObject::GetDtorOnly() |
Bool_t | GetEtaDaughter(Double_t& etaMin, Double_t& etaMax) const |
Bool_t | GetEtaMothers(Double_t& etaMin, Double_t& etaMax) const |
Double_t | GetF(Int_t i) const |
Double_t | GetFmin(Int_t i) const |
TH1F* | GetHistoPtMinMother() const |
TH1F* | GetHistoPtMother() const |
virtual const char* | TObject::GetIconName() const |
virtual const char* | TNamed::GetName() const |
virtual char* | TObject::GetObjectInfo(Int_t px, Int_t py) const |
static Bool_t | TObject::GetObjectStat() |
virtual Option_t* | TObject::GetOption() const |
Int_t | GetPdgDaugh() const |
Int_t* | GetPdgMothers(Int_t& n_mothers) const |
Double_t | GetStatErrF(Int_t i) const |
Double_t | GetStatErrFmin(Int_t i) const |
Double_t | GetStatErrW(Int_t i, Int_t j) const |
Double_t | GetStatErrWmin(Int_t i, Int_t j) const |
virtual const char* | TNamed::GetTitle() const |
virtual UInt_t | TObject::GetUniqueID() const |
Double_t | GetW(Int_t i, Int_t j) const |
Double_t | GetWmin(Int_t i, Int_t j) const |
Bool_t | GetYDaughter(Double_t& yMin, Double_t& yMax) const |
Bool_t | GetYMothers(Double_t& yMin, Double_t& yMax) const |
Int_t | GiveBinIndex(Double_t Ptpart, const TH1F* ptHist) const |
virtual Bool_t | TObject::HandleTimer(TTimer* timer) |
virtual ULong_t | TNamed::Hash() const |
virtual void | TObject::Info(const char* method, const char* msgfmt) const |
virtual Bool_t | TObject::InheritsFrom(const char* classname) const |
virtual Bool_t | TObject::InheritsFrom(const TClass* cl) const |
virtual void | TObject::Inspect() constMENU |
void | TObject::InvertBit(UInt_t f) |
virtual TClass* | IsA() const |
virtual Bool_t | TObject::IsEqual(const TObject* obj) const |
virtual Bool_t | TObject::IsFolder() const |
Bool_t | IsMothers(Int_t pdgCode) |
Bool_t | TObject::IsOnHeap() const |
Bool_t | IsSelectedDaugh(const TParticle* part, Int_t& labelDaugh, AliStack *const stack) |
virtual Bool_t | TNamed::IsSortable() const |
Bool_t | TObject::IsZombie() const |
virtual void | TNamed::ls(Option_t* option = "") const |
void | TObject::MayNotUse(const char* method) const |
virtual Bool_t | TObject::Notify() |
void | TObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const |
static void | TObject::operator delete(void* ptr) |
static void | TObject::operator delete(void* ptr, void* vp) |
static void | TObject::operator delete[](void* ptr) |
static void | TObject::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 void | TObject::Paint(Option_t* option = "") |
virtual void | TObject::Pop() |
virtual void | TNamed::Print(Option_t* option = "") const |
Bool_t | Rapidity(const TParticle* particle, Double_t& y) |
virtual Int_t | TObject::Read(const char* name) |
Bool_t | ReadHistoPtDaught(const TH1F* hist) |
virtual void | TObject::RecursiveRemove(TObject* obj) |
void | TObject::ResetBit(UInt_t f) |
virtual void | TObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU |
virtual void | TObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "") |
void | SetBeautyMothers() |
void | SetBinsPtMinMoth(Int_t nbins, Double_t* edgeBins) |
void | SetBinsPtMinMoth(Double_t ptmin, Double_t ptmax, Int_t nbins, Double_t alpha = 1.0) |
void | SetBinsPtMoth(Int_t nbins, Double_t* edgeBins) |
void | SetBinsPtMoth(Double_t ptmin, Double_t ptmax, Int_t nbins, Double_t alpha = 1.0) |
void | TObject::SetBit(UInt_t f) |
void | TObject::SetBit(UInt_t f, Bool_t set) |
void | SetDecayNtupla(TNtuple* DecKine) |
void | SetDefaultAnalysis(AliPtMothFromPtDaugh::Analysis_mode mode) |
virtual void | TObject::SetDrawOption(Option_t* option = "")MENU |
static void | TObject::SetDtorOnly(void* obj) |
void | SetEtaDaughter(Double_t etaMin, Double_t etaMax) |
void | SetEtaMothers(Double_t etaMin, Double_t etaMax) |
virtual void | TNamed::SetName(const char* name)MENU |
virtual void | TNamed::SetNameTitle(const char* name, const char* title) |
static void | TObject::SetObjectStat(Bool_t stat) |
void | SetPdgDaugh(Int_t pdgD) |
void | SetPdgMothers(Int_t n_mothers, Int_t* pdgM) |
virtual void | TNamed::SetTitle(const char* title = "")MENU |
virtual void | TObject::SetUniqueID(UInt_t uid) |
void | SetYdaughter(Double_t yMin, Double_t yMax) |
void | SetYmothers(Double_t yMin, Double_t yMax) |
virtual void | ShowMembers(TMemberInspector&) |
virtual Int_t | TNamed::Sizeof() const |
virtual void | Streamer(TBuffer&) |
void | StreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b) |
virtual void | TObject::SysError(const char* method, const char* msgfmt) const |
Bool_t | TObject::TestBit(UInt_t f) const |
Int_t | TObject::TestBits(UInt_t f) const |
virtual void | TObject::UseCurrentStyle() |
virtual void | TObject::Warning(const char* method, const char* msgfmt) const |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const |
void | WritePtMothHistoToFile(TString fileOutName = "Mothers.root") |
virtual void | TObject::DoError(int level, const char* location, const char* fmt, va_list va) const |
void | TObject::MakeZombie() |
AliPtMothFromPtDaugh(const AliPtMothFromPtDaugh& c) | |
Bool_t | EvaluateErrPt(Double_t* erStat) |
Bool_t | EvaluateErrPtMin(Double_t* erStat) |
Bool_t | EvaluateFi() |
Bool_t | EvaluatePtMothRaw(TH1F* histoPt, TH1F* histoPtMin) |
Bool_t | EvaluateWij() |
void | InitDefaultAnalysis() |
AliPtMothFromPtDaugh& | operator=(const AliPtMothFromPtDaugh& c) |
Double_t* | SetBinsSize(Double_t ptmin, Double_t ptmax, Int_t nbins, Double_t alpha) |
void | SetPdgMothersPrivate(Int_t n_mothers, Int_t* pdgM) |
void | SetUseEta(Bool_t useEta) |
enum Analysis_mode { | kUserAnalysis | |
kBtoJPSI | ||
kBtoEle | ||
kBtoMuon | ||
kBtoD0 | ||
}; | ||
enum TObject::EStatusBits { | kCanDelete | |
kMustCleanup | ||
kObjInCanvas | ||
kIsReferenced | ||
kHasUUID | ||
kCannotPick | ||
kNoContextMenu | ||
kInvalidObject | ||
}; | ||
enum TObject::[unnamed] { | kIsOnHeap | |
kNotDeleted | ||
kZombie | ||
kBitMask | ||
kSingleKey | ||
kOverwrite | ||
kWriteDelete | ||
}; |
TString | TNamed::fName | object identifier |
TString | TNamed::fTitle | object title |
AliPtMothFromPtDaugh::Analysis_mode | fAnalysisMode | analysis mode |
Int_t | fDaughter | pdg code of daughter |
TNtuple* | fDecayKine | Ntupla to store kinematic information of Decay |
Double_t* | fFi | " " " |
Double_t* | fFiMin | " " " |
TH1F* | fHistoPtDaughter | pointers to pt-histogram of Daughther |
TH1F* | fHistoPtMinMothers | pointers for pt_min-histogram of Mothers |
TH1F* | fHistoPtMothers | pointers to ptMin-histogram of mothers |
TArrayI* | fMothers | Array with pdg codes of mothers |
Bool_t | fUseEta | kTRUE if pseudorapidity range is used |
Double_t** | fWij | pointer to store correction factors |
Double_t** | fWijMin | " " " |
Double_t | fyDaughMax | max " " of daughters |
Double_t | fyDaughMin | min " " " |
Double_t | fyMothMax | max rapidity (or pseudorapidity) of mothers |
Double_t | fyMothMin | min " " " |
Inheritance Chart: | ||||||||
|
Set mothers and daughters pdg codes if not Put a control if mothers histograms binning-size, rapidity (or pseudoapidity) range are setting. Read daughter histogram (histName) from the file (pathFileName) Initialize dimensions for correction factors
return a pointer of double which contains the binning size for (mothers) histograms: alpha have to be > 0 and: alpha = 1 equal binning size alpha < 1 increasing " alpha > 1 decreasing "
Set bin size for pt-spectrum of mothers using SetBinsSize: alpha have to be > 0 and: alpha = 1 equal binning size alpha < 1 increasing " alpha > 1 decreasing "
set bin size given by the pointer edgeBins for pt-spectrum of mothers: the dimension of the pointer edgeBins is nbins+1 and the points has to be written in increasing order
set bin size given by the pointer edgeBins for ptMin-spectrum of mothers: the dimension of the pointer edgeBins is nbins+1 and the points has to be written in increasing order
Set bin size for ptMin-spectrum of mothers using SetBinsSize: alpha have to be > 0 and: alpha = 1 equal binning size alpha < 1 increasing " alpha > 1 decreasing "
Set pdg codes of mothers given by the pointer pdgM for the analysis. This is a private method.
Set user pdg codes of mothers: first check that the kUserAnalysis is the selected Analysis_mode. If not print out a message of error.
Set mothers and daughter pdg codes depending from the selected analysis. case kUserAnalysis: mothers and daughter are set by user (nothing to be done) case kBtoJPSI: inclusive B-> J/Psi + X channels case kBtoEle: inclusive B-> e + X channels case kBtoMuon: inclusive B-> mu + X channels case kBtoD0: inclusive B-> D0 + X channels
return the binning size of the histogram hist n return the number of bins
method to get the bounds of the pseudorapidity range for mothers. Return kTRUE if pseudorapidity is used and put pseudorapidity edges in etaMin and etaMax
method to get the bounds of the pseudorapidity range for daughters. Return kTRUE if pseudorapidity is used and put pseudorapidity edges in etaMin and etaMax
method to get the bounds of the rapidity range for mothers. Return kTRUE if rapidity is used and put rapidity edges in yMin and yMax
method to get the bounds of the rapidity range for daughters. Return kTRUE if rapidity is used and put rapidity edges in yMin and yMax
Set pdg code for daughter particle. Check that the kUserAnalysis is the selected Analysis_mode. If not print out a message of error.
return the pointer to the array of pdg codes of mothers particles if it exist. Put its dimension in n_mothers
Return value of correction factors Wij at the position i (pt-mothers bin index)- j (pt-daughter bin index). Bin 0 is the underflow, bin nbins+1 the overflow. If Wij don't exist or the indices i or j are out of the variability range return 0
Return value of statistical error on correction factors Wij at the position i (pt-mothers bin index)- j (pt-daughter bin index). Bin 0 is the underflow, bin nbins+1 the overflow. If Wij don't exist or the indices i or j are out of the variability range return 0
Return value of correction factors Fi at the position i (pt-mothers bin index). Bin 0 is the underflow, bin nbins+1 the overflow. If Fi don't exist or the index i is out of the variability range return 0
Return statistical error on correction factors Fi at the position i (pt-mothers bin index). Bin 0 is the underflow, bin nbins+1 the overflow. If Fi don't exist or the index i is out of the variability range return 0
Return value of correction factors Wij_min at the position i (ptMin-mothers bin index)- j (pt-daughter bin index). Bin 0 is the underflow, bin nbins+1 the overflow. If Wij_min don't exist or the indices i or j are out of the variability range return 0
Return value of statistical error on correction factors Wij_min at the position i (ptMin-mothers bin index)- j (pt-daughter bin index). Bin 0 is the underflow, bin nbins+1 the overflow. If Wij_min don't exist or the indices i or j are out of the variability range return 0
Return value of correction factors Fi_min at the position i (ptMin-mothers bin index). Bin 0 is the underflow, bin nbins+1 the overflow. If Fi_min don't exist or the index i is out of the variability range return 0
Return statistical error on correction factors Fi_min at the position i (ptMin-mothers bin index). Bin 0 is the underflow, bin nbins+1 the overflow. If Fi_min don't exist or the index i is out of the variability range return 0
return kTRUE if particle part has the selected daughter if yes put the label of the track in labelDaugh
Evaluated rapidity of particle and put it in y. Return kFALSE if cannot compute rapidity
Return the bin index of pt respect to the binning size of ptHist bin 0 is the underflow - nbins+1 is the overflow
put a control for rapidity yD and transverse momentum ptD of daughter return kTRUE if fyDaughMin < yD < fyDaughMax and ptMinDaugh < ptD < ptMaxDaugh
Evaluate correction factors using to extract the ptRaw and ptMinRaw distributions. Statistical errors on those are computed too
Evaluate acceptance correction factors that are applied on the raw distributions. Statistical errors on those are computed too
Evaluate pt and ptMin distribution for mothers First evaluate the sigma raw distribution by calling EvaluatePtMothRaw then evaluate the pt and ptMin mothers distribution. Statistical errors on those distributions are evaluated too.
Write pt and ptMin histograms of mothers in a file with name fileOutName. Default name is "Mothers.root".
setters
{fAnalysisMode = mode; InitDefaultAnalysis();}
return pointers to pt and ptMin mothers histograms
{return fHistoPtMothers;}