A++ » INC » AtlPdfReweightingTool

class AtlPdfReweightingTool: public AtlAnalysisTool


 Wrapper for Soeren's Pdf reweighting class
 needed for the evaluation of Pdf systematics

 Simply create the tool in your task (see AtlAppAnalysisTask) or
 your analysis selector (AtlSelector). Choose the systematics mode
 (up/down/nominal) by setting the public data member fSystMode (eg
 by using AtlAppAnalysisTask::SetToolVariable()).

 Next add the histograms of the observable you want to reweight by
 using AddObservable(). Here you have to give the full path name to
 of each histogram inside the output file. Note that currently
 1-dim. and 2-dim. histograms are supported. Hint: in case of event
 counting use a single-bin histogram. AddObservable() can be called
 anytime before the event loop, for instance in BookHistograms().

Function Members (Methods)

public:
virtual~AtlPdfReweightingTool()
voidTObject::AbstractMethod(const char* method) const
voidAddObservable(const char* HistName)
virtual Bool_tAnalyzeEvent()
virtual voidTObject::AppendPad(Option_t* option = "")
AtlPdfReweightingTool(const AtlPdfReweightingTool&)
AtlPdfReweightingTool(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()
virtual voidAtlAnalysisTool::FillHistogramsNoEvtSel()
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
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_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
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 voidInit()
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
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)
AtlPdfReweightingTool&operator=(const AtlPdfReweightingTool&)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidPrint() 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 voidSetBranchStatus()
virtual voidAtlAnalysisTool::SetCutDefaults()
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidAtlAnalysisTool::SetEvent(AtlEvent* evt)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
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)
virtual voidTObject::SetUniqueID(UInt_t uid)
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()
private:
voidAddObs1D(TH1F* h_orig)
voidAddObs2D(TH2F* h_orig)
voidFillObservables()
TList*FIndObjects(TList* list, const TRegexp& pat)
voidFirstEvent()

Data Members

public:
Int_tfDSIDDSID of the sample (needed for norm. factors)
TList*fListObsNamesList of observable histogram names
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)
AtlPdfReweightingTool::ESystModefSystModeSystematics mode (up/down/nominal)
Int_tAtlAnalysisTool::fVerbosityLevelIndicates the degree of verbosity of tool (0 = no info/debug output, 1 = info, 2 = info+debug)
static TObject::(anonymous)TObject::kBitMask
static TObject::EStatusBitsTObject::kCanDelete
static TObject::EStatusBitsTObject::kCannotPick
static AtlPdfReweightingTool::ESystModekDown
static TObject::EStatusBitsTObject::kHasUUID
static AtlAnalysisTool::EProcessModeAtlAnalysisTool::kIndividual
static TObject::EStatusBitsTObject::kInvalidObject
static TObject::(anonymous)TObject::kIsOnHeap
static TObject::EStatusBitsTObject::kIsReferenced
static AtlAnalysisTool::EProcessModeAtlAnalysisTool::kMainAnalysis
static TObject::EStatusBitsTObject::kMustCleanup
static TObject::EStatusBitsTObject::kNoContextMenu
static AtlPdfReweightingTool::ESystModekNominal
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 AtlPdfReweightingTool::ESystModekUp
static TObject::(anonymous)TObject::kWriteDelete
static TObject::(anonymous)TObject::kZombie
protected:
AtlEvent*AtlAnalysisTool::fEventPointer to current event
TStringTNamed::fNameobject identifier
TString*AtlAnalysisTool::fOptionOption string
TFile*AtlAnalysisTool::fOutputFileOutput file
AtlSelector*AtlAnalysisTool::fParentPointer to parent selector
TStringTNamed::fTitleobject title
TTree*AtlAnalysisTool::fTreeEvent tree
private:
Bool_tfFirstEventFirst event ?
TList*fListObsHistsOrigList of original observable histogram pointers
TList*fListObsHistsTmpList of interal observable histogram pointers
PdfReweightingTool*fPdfReweightingToolPdf tool object

Class Charts

Inheritance Chart:
TObject
TNamed
AtlAnalysisTool
AtlPdfReweightingTool

Function documentation

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

~AtlPdfReweightingTool()
 Default destrcuctor

void BookHistograms()
 Book observables

Bool_t AnalyzeEvent()
 Compute Pdf weights

void Print() const
 Prints chosen parameter settings for the tool to
 standard output

void SetBranchStatus()
 Enable on needed branches

void Init()
 Init Pdf tool

void AddObservable(const char* HistName)
 Add observable to reweight.

 The given histogram is the histogram inside the user analysis
 used to histogram the observable in question. The full path
 name of the histogram inside the output file is needed here.

 In case of event counting use a single-bin histogram.

void FillObservables()
 Fill observables

void Terminate()
 Terminate routine called by AtlSelector::SlaveTerminate().

 Here, the final Pdf uncertainty is determined. The original
 histograms for each given observable are replaced with the
 respected up/down variations.

void FirstEvent()
 Initialize normalization scale factors and
 add observables to the Pdf tool

void AddObs1D(TH1F* h_orig)
 Add 1-dim. histogram to the list of observables of the Pdf tool

void AddObs2D(TH2F* h_orig)
 Add 2-dim. histogram to the list of observables of the Pdf tool

 Internally the 2-dim. histogram is splitted into 1-dim.
 histograms for each bin along the y-axis.

TList* FIndObjects(TList* list, const TRegexp& pat)
 Find all objects inside the given list whose names fulfill the
 regular expression.


 !!! The user is responsible for deleting the returned list !!!


AtlPdfReweightingTool(const char* name, const char* title)
void FillHistograms()
{;}