A++ » INC » AtlKinFitterTool

class AtlKinFitterTool: public AtlAnalysisTool


 A++ KinFitter Interface

 This Tool is supposed to be the base of analysis programs which use the
 KinFitter package.
 It also involves a functionality to create efficiency and purity graphs
 (also see comment in header file).
 Values are plotted versus the variable fX_TruthHistograms which is set
 via SetX_TruthHistograms(Double_t X). Since efficiency  refers to MC,
 fX_TruthHistograms must be a variable defined on MC level (rather than on
 analysis level like chi-square). It could be for instance the invariant
 mass of a mother particle, the opening angle of daughters etc.

 X-Axis title and binning of the histograms (except those refering to
 chi-square probability) can be set simultaneously via SetTruthMatchXTitle(...)
 and SetTruthMatchBinning(...).
 In the analysis, do not forget to call AtlKinFitterTool::BookHistograms().

 The 'True' histograms are filled via AtlKinFitterTool::FillHistograms("Truth"),
 'Reco' histograms are filled via AtlKinFitterTool::FillHistograms("Signal") and
 'TrueReco' histograms are filled also via AtlKinFitterTool::FillHistograms("Signal")
 if you have set fTrueReco to kTRUE via SetTrueReco(...) preceeding the call.

 The histograms are used to plot efficiencies and purities which is done by
 AtlKinFitterTool::Terminate() using the BayesDivide() functionality.


 Author: Oliver Maria Kind <mailto: kind@mail.desy.de>
 Update: $Id: AtlKinFitterTool.cxx,v 1.8 2013/08/22 13:37:25 stamm Exp $
 Copyright: 2009 (C) Oliver Maria Kind

Function Members (Methods)

 
    This is an abstract class, constructors will not be documented.
    Look at the header to check for available constructors.

public:
virtual~AtlKinFitterTool()
voidTObject::AbstractMethod(const char* method) const
voidAddAbundanceTrue(Int_t abundance)
virtual Bool_tAtlAnalysisTool::AnalyzeEvent()
virtual voidTObject::AppendPad(Option_t* option = "")
AtlKinFitterTool(const AtlKinFitterTool&)
AtlKinFitterTool(const char* name, const char* title)
virtual voidBookHistograms()
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidAtlAnalysisTool::Clear()
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)
virtual voidFillHistograms(Option_t* HistMode)
virtual voidAtlAnalysisTool::FillHistogramsNoEvtSel()
virtual voidFillLeptonCovMatrixHistograms(HepParticle* lepton, TMatrixD& CovLepton)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
Int_tGetAbundanceTrue()
Double_tGetBinContent_UnweightedCutFlow(Int_t i_bin)
Double_tGetBinContent_UnweightedCutFlow2(Int_t i_bin)
Double_tGetBinContent_WeightedCutFlow(Int_t i_bin)
Double_tGetBinContent_WeightedCutFlow2(Int_t i_bin)
Float_tGetChi2() const
Float_tGetChi2overNDoF() const
Float_tGetConsValue() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
voidGetLeptonCovMatRand(HepParticle* lepton, TMatrixD& CovLepton)
virtual const char*TNamed::GetName() const
Float_tGetNbIter() const
Int_tGetNDoF() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
const char*AtlAnalysisTool::GetOutputDir() const
Float_tAtlAnalysisTool::GetPreTagEvtWeight() const
static const char*AtlAnalysisTool::GetProcessModeName(AtlAnalysisTool::EProcessMode mode)
Float_tAtlAnalysisTool::GetTagEvtWeight() const
virtual const char*TNamed::GetTitle() const
AtlAnalysisTool*AtlAnalysisTool::GetTool(const char* ClassName, const char* ToolName = "", Bool_t force = kFALSE) const
virtual UInt_tTObject::GetUniqueID() const
voidGuessTopDecayNeutrinoEtaE(Double_t& EtaStart, Double_t& EStart, TVector2 Et_Miss, HepParticle* Lepton, AtlJet* BJet)
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
virtual voidAtlAnalysisTool::Init()
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_tAtlAnalysisTool::IsIndividual() const
Bool_tAtlAnalysisTool::IsMainAnalysis() const
Bool_tAtlAnalysisTool::IsObjectsDefinition() const
Bool_tAtlAnalysisTool::IsOff() const
Bool_tTObject::IsOnHeap() const
Bool_tAtlAnalysisTool::IsPostAnalysis() const
Bool_tAtlAnalysisTool::IsPreAnalysis() const
Bool_tAtlAnalysisTool::IsScaleFactor() const
virtual Bool_tTNamed::IsSortable() const
Bool_tAtlAnalysisTool::IsSystematics() const
Bool_tTObject::IsZombie() const
voidLoadCovMatrices()
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tAtlAnalysisTool::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
voidTObject::operator delete(void* ptr)
voidTObject::operator delete(void* ptr, void* vp)
voidTObject::operator delete[](void* ptr)
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)
AtlKinFitterTool&operator=(const AtlKinFitterTool&)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidAtlAnalysisTool::Print() const
Bool_tAtlAnalysisTool::Process()
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(ostream& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidAtlAnalysisTool::SetBranchStatus()
voidSetChi2(Double_t chi2)
voidSetConsValue(Double_t cons)
voidSetCovMatrix(TMatrixD& cov, HepJet* jet)
voidSetCovMatrix(TMatrixD& cov, HepParticle* nu)
voidSetCovMatrix(TMatrixD& cov, HepParticle* nu, Double_t SigmaPt_MET, Double_t SigmaPhi_MET, Double_t Cov_Pt_Phi_MET)
voidSetCovMatrix(TMatrixD& cov, HepJet* jet, Double_t sigma_pt, Double_t sigma_eta, Double_t sigma_phi, Double_t cov_pt_eta, Double_t cov_pt_phi, Double_t cov_eta_phi)
virtual voidSetCutDefaults()
voidSetCutFlow(const char* cut)
voidSetCutFlow2(const char* cut)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidAtlAnalysisTool::SetEvent(AtlEvent* evt)
voidSetMode(AtlKinFitterTool::EMode mode = kKinFit)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
voidSetNbIter(Int_t nbIter)
voidSetNDoF(Int_t ndf)
static voidTObject::SetObjectStat(Bool_t stat)
voidAtlAnalysisTool::SetOutputDir(const char* dir)
voidAtlAnalysisTool::SetOutputFile(TFile* f)
voidAtlAnalysisTool::SetParent(AtlSelector* parent)
virtual voidTNamed::SetTitle(const char* title = "")MENU
voidAtlAnalysisTool::SetTree(TTree* t)
voidSetTrueReco(Bool_t TrueReco)
voidSetTruthMatchBinning(Int_t Nbins, Double_t xlow, Double_t xup)
voidSetTruthMatchXTitle(const char* XTitle)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidSetX_TruthHistograms(Double_t X)
virtual voidShowMembers(TMemberInspector& insp) const
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()
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:
Double_tfB_MassAssumed mass of b-jet = mass of b-quark
AtlKinFitterTool::EModefModeIndicate the mode of running (eg cut-based or kinematic fit)
AtlKinFitterTool::EModeMassfModeMassIndicate the mode of mass constraint (Gauss or BW mass constraint)
TStringAtlAnalysisTool::fOutputDirDirectory in root output file, where histogram dir is created
AtlAnalysisTool::EProcessModeAtlAnalysisTool::fProcessModeDefines when exactly the tool is run (see AtlAnalysisTool class description for details)
Double_tfTop_MassPole mass of the t-quark used in the fit
Double_tfTop_WidthWidth of the t-quark used in the fit
Bool_tfUseLeptonCovRandUse randomly generated lepton covariance matrices?
Int_tAtlAnalysisTool::fVerbosityLevelIndicates the degree of verbosity of tool (0 = no info/debug output, 1 = info, 2 = info+debug)
Double_tfW_MassPole mass of the W used in the fit
Double_tfW_WidthWidth of the W used in the fit
static AtlKinFitterTool::EModekAll
static AtlKinFitterTool::EModeMasskBW
static TObject::(anonymous)TObject::kBitMask
static TObject::EStatusBitsTObject::kCanDelete
static TObject::EStatusBitsTObject::kCannotPick
static AtlKinFitterTool::EModekCutBased
static AtlKinFitterTool::EModeMasskGauss
static TObject::EStatusBitsTObject::kHasUUID
static AtlAnalysisTool::EProcessModeAtlAnalysisTool::kIndividual
static TObject::EStatusBitsTObject::kInvalidObject
static TObject::(anonymous)TObject::kIsOnHeap
static TObject::EStatusBitsTObject::kIsReferenced
static AtlKinFitterTool::EModekKinFit
static AtlAnalysisTool::EProcessModeAtlAnalysisTool::kMainAnalysis
static TObject::EStatusBitsTObject::kMustCleanup
static TObject::EStatusBitsTObject::kNoContextMenu
static TObject::(anonymous)TObject::kNotDeleted
static TObject::EStatusBitsTObject::kObjInCanvas
static AtlAnalysisTool::EProcessModeAtlAnalysisTool::kObjectsDefinition
static AtlAnalysisTool::EProcessModeAtlAnalysisTool::kOff
static TObject::(anonymous)TObject::kOverwrite
static AtlAnalysisTool::EProcessModeAtlAnalysisTool::kPostAnalysis
static AtlAnalysisTool::EProcessModeAtlAnalysisTool::kPreAnalysis
static AtlAnalysisTool::EProcessModeAtlAnalysisTool::kScaleFactor
static TObject::(anonymous)TObject::kSingleKey
static AtlAnalysisTool::EProcessModeAtlAnalysisTool::kSystematics
static TObject::(anonymous)TObject::kWriteDelete
static TObject::(anonymous)TObject::kZombie
protected:
Int_tfAbundanceTrueAbundance of true particles
Float_tfChi2Chi2 of recent fit
Double_tfConsValueValue of constraints ( sum_i|f_i| )
AtlEvent*AtlAnalysisTool::fEventPointer to current event
TFile*fFileCovMatricesFile containing the covariance matrix histograms
TGraphAsymmErrors*fGraph_KinFit_Efficiency
TGraphAsymmErrors*fGraph_KinFit_EfficiencyProb
TGraphAsymmErrors*fGraph_KinFit_EfficiencyProbGreaterPefficiency of [ p(chi^2) > p* ]
TGraphAsymmErrors*fGraph_KinFit_Purity
TGraphAsymmErrors*fGraph_KinFit_PurityProb
TGraphAsymmErrors*fGraph_KinFit_PurityProbGreaterPpurity of [ p(chi^2) > p* ]
Bool_tfHasLoadedCovMatricesHistograms already loaded ?
TH2F*fHistCovMatEtmiss_EtEtEt_miss cov matrix element Et-Et
TH2F*fHistCovMatEtmiss_EtPhiEt_miss cov matrix element Et-phi
TH2F*fHistCovMatEtmiss_PhiPhiEt_miss cov matrix element phi-phi
TH2F*fHistCovMatJets_EtaEtaJet cov matrix element eta-eta
TH2F*fHistCovMatJets_EtaPhiJet cov matrix element eta-phi
TH2F*fHistCovMatJets_PhiPhiJet cov matrix element phi-phi
TH2F*fHistCovMatJets_PtEtaJet cov matrix element pt-eta
TH2F*fHistCovMatJets_PtPhiJet cov matrix element pt-phi
TH2F*fHistCovMatJets_PtPtJet cov matrix element Pt-Pt
TH1F*fHistCutFlow2Unweightedshow effects of cuts, unweighted events
TH1F*fHistCutFlow2Weightedshow effects of cuts, weighted events
TH1F*fHistCutFlowUnweightedshow effects of cuts, unweighted events
TH1F*fHistCutFlowWeightedshow effects of cuts, weighted events
TH1F*fHist_KinFitBkg_chi2corresponding histogram for background events
TH1F*fHist_KinFitBkg_probcorresponding histogram for background events
TH1F*fHist_KinFit_ConsValueValue of constraints for candidate evts after fit
TH1F*fHist_KinFit_EfficiencyEfficiency = N_TrueReco / N_True
TH1F*fHist_KinFit_KinFitterStatusStatus of KinFitter after fit
TH1F*fHist_KinFit_NTrueProbNumber of true particles, constant for all prob values!
TH1F*fHist_KinFit_NbFitsConvergedNumber of fits converged
TH1F*fHist_KinFit_NbFitsFailedNumericallyNumber of fits failing numerically (1 or more matrix inversions fail)
TH1F*fHist_KinFit_NbFitsNotConvergedNumber of fits not converged
TH1F*fHist_KinFit_NbIterAllNumber of iterations performed in ALL fitting procedures
TH1F*fHist_KinFit_NbIterCandNumber of iterations performed in the fit of accepted candidates
TH1F*fHist_KinFit_PurityPurity = N_TrueReco / N_Reco
TH1F*fHist_KinFit_PurityProbPurity vs. Probability
TH1F*fHist_KinFit_RecoNumber of reconstructed events
TH1F*fHist_KinFit_RecoProbGreaterPNumber of reconstructed prts vs. probability greater than p*
TH1F*fHist_KinFit_TrueNumber of true events
TH1F*fHist_KinFit_TrueRecoNumber of true reconstructed events
TH1F*fHist_KinFit_TrueRecoProbNumber of true reconstructed events vs. probability
TH1F*fHist_KinFit_TrueRecoProbGreaterPNumber of true reconstructed events vs. probability greater than p*
TH1F*fHist_KinFit_chi2chi square values of the Kinematic Fit in case of convergence
TH1F*fHist_KinFit_probProbability values of the Kinematic Fit in case of convergence
TKinFitter*fKinFitterKinFitter object
Int_tfNDoFNo. of degrees of freedom of recent fit
TStringTNamed::fNameobject identifier
Int_tfNbIterNo. of iterations of fit
TString*AtlAnalysisTool::fOptionOption string
TFile*AtlAnalysisTool::fOutputFileOutput file
AtlSelector*AtlAnalysisTool::fParentPointer to parent selector
TStringTNamed::fTitleobject title
TTree*AtlAnalysisTool::fTreeEvent tree
Bool_tfTrueRecoparticle reconstructed is true?
Double_tfX_TruthHistogramsvariable to bin True, Reco and TrueReco
static const char*fgStatusNames[2147483647]Status strings from KinFitter object
TH1F*fhist_CovMatrix_el_11covariance matrix electron element 11
TH1F*fhist_CovMatrix_el_12covariance matrix electron element 12
TH1F*fhist_CovMatrix_el_13covariance matrix electron element 13
TH1F*fhist_CovMatrix_el_21covariance matrix electron element 21
TH1F*fhist_CovMatrix_el_22covariance matrix electron element 22
TH1F*fhist_CovMatrix_el_23covariance matrix electron element 23
TH1F*fhist_CovMatrix_el_31covariance matrix electron element 31
TH1F*fhist_CovMatrix_el_32covariance matrix electron element 32
TH1F*fhist_CovMatrix_el_33covariance matrix electron element 11
TH1F*fhist_CovMatrix_mu_11covariance matrix muon element 11
TH1F*fhist_CovMatrix_mu_12covariance matrix muon element 12
TH1F*fhist_CovMatrix_mu_13covariance matrix muon element 13
TH1F*fhist_CovMatrix_mu_21covariance matrix muon element 21
TH1F*fhist_CovMatrix_mu_22covariance matrix muon element 22
TH1F*fhist_CovMatrix_mu_23covariance matrix muon element 23
TH1F*fhist_CovMatrix_mu_31covariance matrix muon element 31
TH1F*fhist_CovMatrix_mu_32covariance matrix muon element 32
TH1F*fhist_CovMatrix_mu_33covariance matrix muon element 33
TRandom3*randnrfor random covariance matrices of leptons

Class Charts

Inheritance Chart:
TObject
TNamed
AtlAnalysisTool
AtlKinFitterTool
AtlConvFinder
AtlD0Finder
AtlDstarFinder
AtlK0StarFinder
AtlK0sFinder
AtlKaonHistos
AtlLambdaFinder
AtlPhiFinder
AtlSgTop_WtChannelFinder
AtlSgTop_tChannelFinder
 [more...]

Function documentation

AtlKinFitterTool(const char* name, const char* title)
 Default constructor

~AtlKinFitterTool()
 Default destructor

void SetCutDefaults()
 Setting default cut values

void BookHistograms()
 Book KinFitter histograms

void FillHistograms(Option_t* HistMode)
 Fill histograms of Kinematic Fit
 HistMode = 1 : fill signal histograms
 HistMode = 0 : fill bkg histograms

void FillLeptonCovMatrixHistograms(HepParticle* lepton, TMatrixD& CovLepton)
fill covariance matrix elements in histograms
void SetCovMatrix(TMatrixD& cov, HepJet* jet, Double_t sigma_pt, Double_t sigma_eta, Double_t sigma_phi, Double_t cov_pt_eta, Double_t cov_pt_phi, Double_t cov_eta_phi)
 Fill the given (empty) covariance matrix with the given
 correlations. These are supposed to be already multiplied by
 the corresponding absolute values from the jet.

 Note that the given sigmas are supposed to be the RMS and not
 the variance (i.e. not squared!)

void SetCovMatrix(TMatrixD& cov, HepParticle* nu, Double_t SigmaPt_MET, Double_t SigmaPhi_MET, Double_t Cov_Pt_Phi_MET)
 Fill the given (empty) covariance matrix for the given neutrino
 (HepParticle object) with the given correlations. These are supposed to
 be already mulitplied by the corresponding absolute values from missing Et
 The (unknown) Eta-related entries of the matrix are arbitrary (set to 1 here).

 Note that the given sigmas are supposed to be the RMS and not
 the variance (i.e. not squared!).

void SetCovMatrix(TMatrixD& cov, HepJet* jet)
 Fill the given (empty) covariance matrix for the given jet.
 The covariances are taken from the covariance matrix histograms
 containing these values dependent on Pt and eta of the jet

void SetCovMatrix(TMatrixD& cov, HepParticle* nu)
 Fill the given (empty) covariance matrix for the given neutrino
 (HepParticle object).
 The covariances are taken from the covariance matrix histograms
 containing these values dependent on Pt and eta of the missing
 Et

void GetLeptonCovMatRand(HepParticle* lepton, TMatrixD& CovLepton)
 Computes randomly the covariance matrix elements of electrons and muons
 according to fitted distributions from data (Gauss, Landau)

void LoadCovMatrices()
 Load covariance matrices

void Terminate()
 Terminate tool for kinematic fitting

void GuessTopDecayNeutrinoEtaE(Double_t& EtaStart, Double_t& EStart, TVector2 Et_Miss, HepParticle* Lepton, AtlJet* BJet)
 Provide reasonable starting values for eta and E of the
 neutrino in leptonic top-quark decays with the help of the
 currently set lepton and the b-jet, and TKinFitter::GetEtaNuRoot().

 This routine might be useful for ttbar or single-top
 reconstruction

AtlKinFitterTool(const char* name, const char* title)
Float_t GetChi2() const
{ return fChi2; }
Int_t GetNDoF() const
{ return fNDoF; }
Float_t GetChi2overNDoF() const
{ return fChi2/fNDoF; }
Float_t GetNbIter() const
{ return fNbIter; }
Float_t GetConsValue() const
{ return fConsValue; }
Double_t GetBinContent_WeightedCutFlow(Int_t i_bin)
Double_t GetBinContent_UnweightedCutFlow(Int_t i_bin)
Double_t GetBinContent_WeightedCutFlow2(Int_t i_bin)
Double_t GetBinContent_UnweightedCutFlow2(Int_t i_bin)
void SetChi2(Double_t chi2)
{ fChi2 = chi2; }
void SetNDoF(Int_t ndf)
{ fNDoF = ndf; }
void SetNbIter(Int_t nbIter)
{ fNbIter = nbIter; }
void SetConsValue(Double_t cons)
{ fConsValue = cons; }
void SetMode(AtlKinFitterTool::EMode mode = kKinFit)
{ fMode = mode; }
void SetX_TruthHistograms(Double_t X)
void SetTrueReco(Bool_t TrueReco)
{ fTrueReco = TrueReco; }
void SetCutFlow(const char* cut)
void SetCutFlow2(const char* cut)
void SetTruthMatchXTitle(const char* XTitle)
void SetTruthMatchBinning(Int_t Nbins, Double_t xlow, Double_t xup)
void AddAbundanceTrue(Int_t abundance)
inline void SetTruthType(char *type) {fTruthType = type;}
inline char* GetTruthType() {return fTruthType;}
Int_t GetAbundanceTrue()
{return fAbundanceTrue;}