49 : fLogger( new
MsgLogger(
"DataInputHandler", kINFO) )
71 TTree * tr = ReadInputTree(fn);
73 AddTree( tr, className, weight, cut,
tt );
85 if (!tree) Log() << kFATAL <<
"Zero pointer for tree of class " << className.
Data() <<
Endl;
86 if (tree->
GetEntries()==0) Log() << kFATAL <<
"Encountered empty TTree or TChain of class " << className.
Data() <<
Endl;
87 if (fInputTrees[className.
Data()].empty()) {
95 Log() << kFATAL <<
"For the tree " << tree->
GetName() <<
" of class " << className.
Data()
98 << fInputTrees[className.
Data()][0].GetTree()->GetName() <<
" of class " << className.
Data()
106 fInputTrees[className.
Data()].push_back(
TreeInfo( tree, className, weight,
tt ));
115 AddTree( tr,
"Signal", weight,
"",
tt );
123 AddTree( tr,
"Background", weight,
"",
tt );
131 TTree * tr = ReadInputTree(fn);
133 AddTree( tr,
"Signal", weight,
"",
tt );
141 TTree * tr = ReadInputTree(fn);
143 AddTree( tr,
"Background", weight,
"",
tt );
152 std::ifstream in(dataFile);
154 Log() << kWARNING <<
"Watch out, I (Helge) made the Tree not associated to the current directory .. Hopefully that does not have unwanted consequences" <<
Endl;
155 if (!in.good()) Log() << kFATAL <<
"Could not open file: " << dataFile <<
Endl;
170 if (!inputTree) Log() << kFATAL <<
"Zero pointer for input tree: " << inputTree <<
Endl;
172 AddTree( inputTree,
"Signal", 1.0, SigCut );
173 AddTree( inputTree,
"Background", 1.0, BgCut );
182 fInputTrees.find(className)->second.clear();
185 Log() << kINFO <<
" Clear treelist for class " << className <<
" failed, since class does not exist." <<
Endl;
193 std::vector< TString >* ret =
new std::vector< TString >();
194 for ( std::map<
TString, std::vector<TreeInfo> >::iterator it = fInputTrees.begin(); it != fInputTrees.end(); ++it ){
195 ret->push_back( it->first );
206 std::vector<TreeInfo>::const_iterator tiIt = tiV.begin();
207 for (;tiIt != tiV.end();++tiIt) entries += tiIt->GetEntries();
217 for (std::map<
TString, std::vector<TreeInfo> >::iterator it = fInputTrees.begin(); it != fInputTrees.end(); ++it) {
218 number += GetEntries( it->second );
A specialized string object used for TTree selections.
ostringstream derivative to redirect and format output
@ kMaxTreeType
also used as temporary storage for trees not yet assigned for testing;training...
const char * GetName() const override
Returns name of object.
const char * GetTitle() const override
Returns title of object.
const char * Data() const
A TTree represents a columnar dataset.
virtual TTree * CopyTree(const char *selection, Option_t *option="", Long64_t nentries=kMaxEntries, Long64_t firstentry=0)
Copy a tree with selection.
virtual void SetDirectory(TDirectory *dir)
Change the tree's directory.
virtual Long64_t GetEntries() const
virtual Long64_t ReadFile(const char *filename, const char *branchDescriptor="", char delimiter=' ')
Create or simply read branches from filename.
void SetName(const char *name) override
Change the name of this tree.
MsgLogger & Endl(MsgLogger &ml)