Common Analysis Framework » QFRAMEWORK » TQNTupleDumperAnalysisJob

class TQNTupleDumperAnalysisJob: public TQAnalysisJob


 TQNTupleDumperAnalysisJob:

 The TQNTupleDumperAnalysisJob is an analysis job that provides an
 easy interface allowing to write out flat, sk(l)immed mini-nTuples
 with a carefully selected set of variables that can further be used
 for MVA or statistics processing.

 Once the job has been created, branches (variables) can be booked like this:
 TQNTupleDumperAnalysisJob::bookVariable("int","runNumber","EventInfo.runNumber()")

 It is also possible to mass-book nTuple jobs from config files, using the static
 TQNTupleDumperAnalysisJob::importJobsFromTextFiles
 function. The syntax of these files may look like this:

  ntup: int runNumber << float, mjj << Mjj/1000. , float dyjj << DYjj;
  @Cut_2jet: ntup >> data/ntup/$(SampleID).root:HWWTree_$(channel);


Function Members (Methods)

public:
virtual~TQNTupleDumperAnalysisJob()
voidTObject::AbstractMethod(const char* method) const
intTQAnalysisJob::addToCuts(TList* cuts, const TString& cutname = "*")
virtual voidTObject::AppendPad(Option_t* option = "")
boolbookVariable(const TString& type, const TString& name, const TString& definition)
boolbookVariable(TQNTupleDumperAnalysisJob::VarType type, const TString& name, const TString& definition)
virtual voidTObject::Browse(TBrowser* b)
ULong_tTObject::CheckedHash()
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 boolexecute(double weight)
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)
boolTQAnalysisJob::finalize()
virtual boolfinalizeSampleFolder(TQSampleFolder* sf)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual TObjArray*getBranchNames()
virtual TQAnalysisJob*getClone()
TQCut*TQAnalysisJob::getCut()
virtual TStringTQAnalysisJob::getDescription()
virtual Option_t*TObject::GetDrawOption() const
static Longptr_tTObject::GetDtorOnly()
static TStringgetErrorMessage()
TStringgetFileName() 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_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual const char*TNamed::GetTitle() const
TStringgetTreeName() const
TQToken*getTreeToken(const TString& filename, const TString& treename)
static TStringgetTypeString(TQNTupleDumperAnalysisJob::VarType type)
virtual UInt_tTObject::GetUniqueID() const
static TQNTupleDumperAnalysisJob::VarTypegetVarType(TString typestr)
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
Bool_tTObject::HasInconsistentHash() const
static intimportJobsFromTextFiles(const vector<TString>& filenames, TQCut* basecut, TQTaggable* aliases = __null, const TString& channelFilter = "*", bool verbose = false)
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
boolTQAnalysisJob::initialize(TQSample* sample)
virtual boolinitializeSampleFolder(TQSampleFolder* sf)
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
Bool_tTObject::IsDestructed() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual boolTQAnalysisJob::isPooling() const
virtual Bool_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
intnVariables()
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)
TQNTupleDumperAnalysisJob&operator=(const TQNTupleDumperAnalysisJob&)
TQNTupleDumperAnalysisJob&operator=(TQNTupleDumperAnalysisJob&&)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTQAnalysisJob::print(const TString& options = "")
virtual voidTNamed::Print(Option_t* option = "") const
voidprintBranches()
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
virtual voidTQAnalysisJob::reset()
voidTObject::ResetBit(UInt_t f)
boolreturnTreeToken(const TString& filename, const TString& treename, TQToken* tok)
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)
voidTQAnalysisJob::setCut(TQCut* cut_)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
static voidsetErrorMessage(const TString& message)
voidsetFileName(const TString& filename)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTNamed::SetTitle(const char* title = "")MENU
voidsetTreeName(const TString& treename)
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
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
TQNTupleDumperAnalysisJob(const TString& name)
TQNTupleDumperAnalysisJob(TQNTupleDumperAnalysisJob* other)
TQNTupleDumperAnalysisJob(const TQNTupleDumperAnalysisJob&)
TQNTupleDumperAnalysisJob(TQNTupleDumperAnalysisJob&&)
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
voidwriteWeights(bool write = true, const TString& name = "weight")
protected:
voidTQAnalysisJob::copyTransientMembersFrom(TQAnalysisJob* other)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
virtual boolfinalizeSelf()
boolfinalizeTree()
intgetNentriesToCreate() const
virtual boolinitializeSelf()
boolinitializeTree(TQTaggable* tags)
voidTObject::MakeZombie()
private:
virtual Bool_tCheckTObjectHashConsistency() const

Data Members

public:
static TQNTupleDumperAnalysisJob::VarTypeDOUBLE
static TQNTupleDumperAnalysisJob::VarTypeFLOAT
static TQNTupleDumperAnalysisJob::VarTypeINT
static TQNTupleDumperAnalysisJob::VarTypeINT32
static TQNTupleDumperAnalysisJob::VarTypeINT64
static TQNTupleDumperAnalysisJob::VarTypeUI
static TQNTupleDumperAnalysisJob::VarTypeUINT32
static TQNTupleDumperAnalysisJob::VarTypeUINT64
static TQNTupleDumperAnalysisJob::VarTypeUL
static TQNTupleDumperAnalysisJob::VarTypeULI
static TQNTupleDumperAnalysisJob::VarTypeULL
static TQNTupleDumperAnalysisJob::VarTypeULLI
static TQNTupleDumperAnalysisJob::VarTypeUNKNOWN
static TQNTupleDumperAnalysisJob::VarTypeVECTORDOUBLE
static TQNTupleDumperAnalysisJob::VarTypeVECTORFLOAT
static TQNTupleDumperAnalysisJob::VarTypeVECTORINT
static TQNTupleDumperAnalysisJob::VarTypeVECTORINT32
static TQNTupleDumperAnalysisJob::VarTypeVECTORINT64
static TQNTupleDumperAnalysisJob::VarTypeVECTORUI
static TQNTupleDumperAnalysisJob::VarTypeVECTORUINT32
static TQNTupleDumperAnalysisJob::VarTypeVECTORUINT64
static TQNTupleDumperAnalysisJob::VarTypeVECTORUL
static TQNTupleDumperAnalysisJob::VarTypeVECTORULI
static TQNTupleDumperAnalysisJob::VarTypeVECTORULL
static TQNTupleDumperAnalysisJob::VarTypeVECTORULLI
static TObject::(anonymous)TObject::kBitMask
static TObject::EStatusBitsTObject::kCanDelete
static TObject::EStatusBitsTObject::kCannotPick
static TObject::EStatusBitsTObject::kHasUUID
static TObject::(anonymous)TObject::kInconsistent
static TObject::EStatusBitsTObject::kInvalidObject
static TObject::(anonymous)TObject::kIsOnHeap
static TObject::EStatusBitsTObject::kIsReferenced
static TObject::EStatusBitsTObject::kMustCleanup
static TObject::EStatusBitsTObject::kNoContextMenu
static TObject::(anonymous)TObject::kNotDeleted
static TObject::EDeprecatedStatusBitsTObject::kObjInCanvas
static TObject::(anonymous)TObject::kOverwrite
static TObject::(anonymous)TObject::kSingleKey
static TObject::(anonymous)TObject::kWriteDelete
static TObject::(anonymous)TObject::kZombie
protected:
TStringfActiveFileName!
TStringfActiveTreeName!
vector<TQNTupleDumperAnalysisJobHelpers::BranchHandle*>fBranches!
TQCut*TQAnalysisJob::fCut!
static TQMessageStreamfErrMsg
boolfExpectSingleEntryPerEvent
vector<TString>fExpressions
TStringfFileName
static map<TString,TFile*>fFiles!
TStringTNamed::fNameobject identifier
vector<TQObservable*>fObservables
TQSample*TQAnalysisJob::fSample!
static TObjStringfTimestamp!
TStringTNamed::fTitleobject title
TQNTupleDumperAnalysisJobHelpers::TreeHandle*fTreeHandler!
TStringfTreeName
TQToken*fTreeToken!
vector<TQNTupleDumperAnalysisJob::VarType>fTypes
vector<TString>fVarNames
TQNTupleDumperAnalysisJobHelpers::BranchHandle*fWeightBranch!
TStringfWeightName
boolfWriteWeight
static const map<TQNTupleDumperAnalysisJob::VarType,bool>isVectorBranchMap!
static TObject::(anonymous)TObject::kOnlyPrepStep
static map<TString,int>nUsers!
TQSampleFolder*poolAt

Class Charts

Inheritance Chart:
TObject
TNamed
TQAnalysisJob
TQNTupleDumperAnalysisJob

Function documentation

TQToken* getTreeToken(const TString& filename, const TString& treename)
bool returnTreeToken(const TString& filename, const TString& treename, TQToken* tok)
TQNTupleDumperAnalysisJob(const TString& name)
 default constructor
TString getTypeString(TQNTupleDumperAnalysisJob::VarType type)
 convert a VarType enum to the corresponding string
int nVariables()
 retrieve the number of booked variables
void printBranches()
 print the branches booked in this job
bool bookVariable(const TString& type, const TString& name, const TString& definition)
 book a variable
bool bookVariable(TQNTupleDumperAnalysisJob::VarType type, const TString& name, const TString& definition)
 book a variable
bool initializeTree(TQTaggable* tags)
 initialize the output tree for this job
void writeWeights(bool write = true, const TString& name = "weight")
 determine whether to write weights, and what name the weight branch should have
bool finalizeTree()
 finalize the output tree and close the file
bool initializeSelf()
 initialize this analysis job
bool finalizeSelf()
 finalize this analysis job
bool initializeSampleFolder(TQSampleFolder* sf)
 initialize this job on a sample folder (taking care of pooling)
bool finalizeSampleFolder(TQSampleFolder* sf)
 finalize this job on a sample folder (taking care of pooling)
int getNentriesToCreate() const
 returns the number of entries to be created in the output tree for the current
 input event. A std::runtime_error is thrown if an incompatible combination of
 observables is found. Checks are skipped and 1 is returned if for the current
 TQSample the booked ntuple structure can be expected to always yield one output
 entry (event) per input event
bool execute(double weight)
 execute this analysis job on one event
 fill the output tree with the event data
TObjArray * getBranchNames()
 retrieve the list of branch names used by this job
TQNTupleDumperAnalysisJob(TQNTupleDumperAnalysisJob* other)
 copy constructor
TQAnalysisJob * getClone()
 cloning function, internally calls copy constructor
int importJobsFromTextFiles(const vector<TString>& filenames, TQCut* basecut, TQTaggable* aliases = __null, const TString& channelFilter = "*", bool verbose = false)
 open a list of files (std::vector), parse all nTuple definitions inside
 for each assigment encountered matching the channelfilter (or with no channel),
 create an nTuple job for each nTuple and add it to the basecut
TString getErrorMessage()
 Return the latest error message
void setErrorMessage(const TString& message)
 update the error message
TString getTreeName() const
 get the tree name
void setTreeName(const TString& treename)
 set the tree name
TString getFileName() const
 get the file name
void setFileName(const TString& filename)
 set the file name
TQNTupleDumperAnalysisJob::VarType getVarType(TString typestr)
TQNTupleDumperAnalysisJob(const TString& name)
TQNTupleDumperAnalysisJob(TQNTupleDumperAnalysisJob* other)