52 : fLogger( new
MsgLogger(
"DataInputHandler", kINFO) )
74 TTree * tr = ReadInputTree(fn);
76 AddTree( tr, className, weight, cut,
tt );
88 if (!tree) Log() << kFATAL <<
"Zero pointer for tree of class " << className.
Data() <<
Endl;
89 if (tree->GetEntries()==0) Log() << kFATAL <<
"Encountered empty TTree or TChain of class " << className.
Data() <<
Endl;
90 if (fInputTrees[className.
Data()].empty()) {
98 Log() << kFATAL <<
"For the tree " << tree->GetName() <<
" of class " << className.
Data()
101 << fInputTrees[className.
Data()][0].GetTree()->GetName() <<
" of class " << className.
Data()
106 fInputTrees[className.
Data()].push_back(
TreeInfo( tree->CopyTree(cut.
GetTitle()), className, weight,
tt ));
109 fInputTrees[className.
Data()].push_back(
TreeInfo( tree, className, weight,
tt ));
118 AddTree( tr,
"Signal", weight,
"",
tt );
126 AddTree( tr,
"Background", weight,
"",
tt );
134 TTree * tr = ReadInputTree(fn);
136 AddTree( tr,
"Signal", weight,
"",
tt );
144 TTree * tr = ReadInputTree(fn);
146 AddTree( tr,
"Background", weight,
"",
tt );
155 std::ifstream in(dataFile);
157 Log() << kWARNING <<
"Watch out, I (Helge) made the Tree not associated to the current directory .. Hopefully that does not have unwanted consequences" <<
Endl;
158 if (!in.good()) Log() << kFATAL <<
"Could not open file: " << dataFile <<
Endl;
173 if (!inputTree) Log() << kFATAL <<
"Zero pointer for input tree: " << inputTree <<
Endl;
175 AddTree( inputTree,
"Signal", 1.0, SigCut );
176 AddTree( inputTree,
"Background", 1.0, BgCut );
185 fInputTrees.find(className)->second.clear();
188 Log() << kINFO <<
" Clear treelist for class " << className <<
" failed, since class does not exist." <<
Endl;
196 std::vector< TString >* ret =
new std::vector< TString >();
197 for ( std::map<
TString, std::vector<TreeInfo> >::iterator it = fInputTrees.begin(); it != fInputTrees.end(); ++it ){
198 ret->push_back( it->first );
209 std::vector<TreeInfo>::const_iterator tiIt = tiV.begin();
210 for (;tiIt != tiV.end();++tiIt) entries += tiIt->GetEntries();
220 for (std::map<
TString, std::vector<TreeInfo> >::iterator it = fInputTrees.begin(); it != fInputTrees.end(); ++it) {
221 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 * GetTitle() const override
Returns title of object.
const char * Data() const
A TTree represents a columnar dataset.
virtual void SetDirectory(TDirectory *dir)
Change the tree's directory.
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)