CMS 3D CMS Logo

List of all members | Classes | Public Member Functions | Static Public Attributes | Private Attributes | Friends
PhysicsTools::TreeReader Class Reference

#include <TreeReader.h>

Classes

struct  Bool
 
class  Value
 

Public Member Functions

void addBranch (const std::string &expression, AtomicId name=AtomicId(), bool opt=true)
 
void addBranch (TBranch *branch, AtomicId name=AtomicId(), bool opt=true)
 
template<typename T >
void addMulti (AtomicId name, const std::vector< T > *value)
 
template<>
void addMulti (AtomicId name, const std::vector< Double_t > *value)
 
template<>
void addMulti (AtomicId name, const std::vector< Float_t > *value)
 
template<>
void addMulti (AtomicId name, const std::vector< Int_t > *value)
 
template<>
void addMulti (AtomicId name, const std::vector< Bool_t > *value)
 
template<typename T >
void addSingle (AtomicId name, const T *value, bool opt=false)
 
template<>
void addSingle (AtomicId name, const Double_t *value, bool opt)
 
template<>
void addSingle (AtomicId name, const Float_t *value, bool opt)
 
template<>
void addSingle (AtomicId name, const Int_t *value, bool opt)
 
template<>
void addSingle (AtomicId name, const Bool_t *value, bool opt)
 
template<>
void addSingle (AtomicId name, const Double_t *value, bool opt)
 
template<>
void addSingle (AtomicId name, const Float_t *value, bool opt)
 
template<>
void addSingle (AtomicId name, const Int_t *value, bool opt)
 
template<>
void addSingle (AtomicId name, const Bool_t *value, bool opt)
 
void addTypeMulti (AtomicId name, const void *value, char type)
 
void addTypeSingle (AtomicId name, const void *value, char type, bool opt)
 
void automaticAdd (bool skipTarget=false, bool skipWeight=false)
 
double fill (const MVAComputer *mva)
 
Variable::ValueList fill ()
 
uint64_t loop (const MVAComputer *mva)
 
TreeReaderoperator= (const TreeReader &orig)
 
void reset ()
 
void setOptional (AtomicId name, bool opt, double optVal=kOptVal)
 
void setTree (TTree *tree)
 
 TreeReader ()
 
 TreeReader (const TreeReader &orig)
 
 TreeReader (TTree *tree, bool skipTarget=false, bool skipWeight=false)
 
void update ()
 
std::vector< AtomicIdvariables () const
 
virtual ~TreeReader ()
 

Static Public Attributes

static const double kOptVal = -999.0
 

Private Attributes

std::vector< std::pair< void *, std::vector< Bool_t > > > multiBool
 
std::vector< std::pair< void *, std::vector< Double_t > > > multiDouble
 
std::vector< std::pair< void *, std::vector< Float_t > > > multiFloat
 
std::vector< std::pair< void *, std::vector< Int_t > > > multiInt
 
std::vector< BoolsingleBool
 
std::vector< Double_t > singleDouble
 
std::vector< Float_t > singleFloat
 
std::vector< Int_t > singleInt
 
TTree * tree
 
bool upToDate
 
std::map< AtomicId, ValuevalueMap
 
Variable::ValueList values
 

Friends

class Value
 

Detailed Description

Definition at line 19 of file TreeReader.h.

Constructor & Destructor Documentation

◆ TreeReader() [1/3]

PhysicsTools::TreeReader::TreeReader ( )

Definition at line 25 of file TreeReader.cc.

25 : tree(nullptr), upToDate(false) {}

◆ TreeReader() [2/3]

PhysicsTools::TreeReader::TreeReader ( const TreeReader orig)

Definition at line 27 of file TreeReader.cc.

References operator=().

27 { this->operator=(orig); }
TreeReader & operator=(const TreeReader &orig)
Definition: TreeReader.cc:35

◆ TreeReader() [3/3]

PhysicsTools::TreeReader::TreeReader ( TTree *  tree,
bool  skipTarget = false,
bool  skipWeight = false 
)

Definition at line 29 of file TreeReader.cc.

References automaticAdd().

29  : tree(tree), upToDate(false) {
30  automaticAdd(skipTarget, skipWeight);
31  }
void automaticAdd(bool skipTarget=false, bool skipWeight=false)
Definition: TreeReader.cc:213
Definition: tree.py:1

◆ ~TreeReader()

PhysicsTools::TreeReader::~TreeReader ( )
virtual

Definition at line 33 of file TreeReader.cc.

33 {}

Member Function Documentation

◆ addBranch() [1/2]

void PhysicsTools::TreeReader::addBranch ( const std::string &  expression,
AtomicId  name = AtomicId(),
bool  opt = true 
)

Definition at line 60 of file TreeReader.cc.

References MicroEventContent_cff::branch, Exception, l1tGTMenu_BTagSeeds_cff::expression, Skims_PA_cff::name, and das-up-to-nevents::opt.

Referenced by automaticAdd().

60  {
61  if (!tree)
62  throw cms::Exception("NoTreeAvailable") << "No TTree set in TreeReader::addBranch." << std::endl;
63 
64  TBranch *branch = tree->GetBranch(expression.c_str());
65  if (!branch)
66  throw cms::Exception("BranchMissing") << "Tree branch \"" << expression << "\" missing." << std::endl;
67 
69  }
void addBranch(const std::string &expression, AtomicId name=AtomicId(), bool opt=true)
Definition: TreeReader.cc:60
Definition: tree.py:1

◆ addBranch() [2/2]

void PhysicsTools::TreeReader::addBranch ( TBranch *  branch,
AtomicId  name = AtomicId(),
bool  opt = true 
)

Definition at line 71 of file TreeReader.cc.

References addTypeMulti(), addTypeSingle(), MicroEventContent_cff::branch, electrons_cff::branchName, Exception, trackerHitRTTI::multi, Skims_PA_cff::name, das-up-to-nevents::opt, dqmiodumpindices::typeName, and valueMap.

71  {
72  TString branchName = branch->GetName();
73  if (!name)
74  name = (const char *)branchName;
75 
76  TLeaf *leaf = dynamic_cast<TLeaf *>(branch->GetLeaf(branchName));
77  if (!leaf)
78  throw cms::Exception("InvalidBranch") << "Tree branch \"" << branchName << "\" has no leaf." << std::endl;
79 
80  TString typeName = leaf->GetTypeName();
81  char typeId = 0;
82  bool multi = false;
83  if (typeName == "Double_t" || typeName == "double")
84  typeId = 'D';
85  else if (typeName == "Float_t" || typeName == "float")
86  typeId = 'F';
87  else if (typeName == "Int_t" || typeName == "int")
88  typeId = 'I';
89  else if (typeName == "Bool_t" || typeName == "bool")
90  typeId = 'B';
91  else {
92  multi = true;
93  if (typeName == "vector<double>" || typeName == "Vector<Double_t>")
94  typeId = 'D';
95  else if (typeName == "vector<float>" || typeName == "Vector<Float_t>")
96  typeId = 'F';
97  else if (typeName == "vector<int>" || typeName == "Vector<Int_t>")
98  typeId = 'I';
99  else if (typeName == "vector<bool>" || typeName == "Vector<Bool_t>")
100  typeId = 'B';
101  }
102 
103  if (!typeId)
104  throw cms::Exception("InvalidBranch") << "Tree branch \"" << branchName
105  << "\" is of "
106  "unsupported type \""
107  << typeName << "\"." << std::endl;
108 
109  if (multi)
110  addTypeMulti(name, nullptr, typeId);
111  else
112  addTypeSingle(name, nullptr, typeId, opt);
113 
114  valueMap[name].setBranchName(branch->GetName());
115  }
void addTypeSingle(AtomicId name, const void *value, char type, bool opt)
Definition: TreeReader.cc:128
std::map< AtomicId, Value > valueMap
Definition: TreeReader.h:106
void addTypeMulti(AtomicId name, const void *value, char type)
Definition: TreeReader.cc:173

◆ addMulti() [1/5]

template<typename T >
void PhysicsTools::TreeReader::addMulti ( AtomicId  name,
const std::vector< T > *  value 
)

◆ addMulti() [2/5]

void PhysicsTools::TreeReader::addMulti ( AtomicId  name,
const std::vector< Double_t > *  value 
)

Definition at line 418 of file TreeReader.cc.

◆ addMulti() [3/5]

void PhysicsTools::TreeReader::addMulti ( AtomicId  name,
const std::vector< Float_t > *  value 
)

Definition at line 419 of file TreeReader.cc.

◆ addMulti() [4/5]

void PhysicsTools::TreeReader::addMulti ( AtomicId  name,
const std::vector< Int_t > *  value 
)

Definition at line 420 of file TreeReader.cc.

◆ addMulti() [5/5]

void PhysicsTools::TreeReader::addMulti ( AtomicId  name,
const std::vector< Bool_t > *  value 
)

Definition at line 421 of file TreeReader.cc.

◆ addSingle() [1/9]

template<typename T >
void PhysicsTools::TreeReader::addSingle ( AtomicId  name,
const T value,
bool  opt = false 
)

◆ addSingle() [2/9]

template<>
void PhysicsTools::TreeReader::addSingle ( AtomicId  name,
const Double_t *  value,
bool  opt 
)

◆ addSingle() [3/9]

template<>
void PhysicsTools::TreeReader::addSingle ( AtomicId  name,
const Float_t *  value,
bool  opt 
)

◆ addSingle() [4/9]

template<>
void PhysicsTools::TreeReader::addSingle ( AtomicId  name,
const Int_t *  value,
bool  opt 
)

◆ addSingle() [5/9]

template<>
void PhysicsTools::TreeReader::addSingle ( AtomicId  name,
const Bool_t *  value,
bool  opt 
)

◆ addSingle() [6/9]

template<>
void PhysicsTools::TreeReader::addSingle ( AtomicId  name,
const Double_t *  value,
bool  opt 
)

Definition at line 418 of file TreeReader.cc.

◆ addSingle() [7/9]

template<>
void PhysicsTools::TreeReader::addSingle ( AtomicId  name,
const Float_t *  value,
bool  opt 
)

Definition at line 419 of file TreeReader.cc.

◆ addSingle() [8/9]

template<>
void PhysicsTools::TreeReader::addSingle ( AtomicId  name,
const Int_t *  value,
bool  opt 
)

Definition at line 420 of file TreeReader.cc.

◆ addSingle() [9/9]

template<>
void PhysicsTools::TreeReader::addSingle ( AtomicId  name,
const Bool_t *  value,
bool  opt 
)

Definition at line 421 of file TreeReader.cc.

◆ addTypeMulti()

void PhysicsTools::TreeReader::addTypeMulti ( AtomicId  name,
const void *  value,
char  type 
)

Definition at line 173 of file TreeReader.cc.

References Exception, createfilelist::int, multiBool, multiDouble, multiFloat, multiInt, Skims_PA_cff::name, upToDate, Value, and valueMap.

Referenced by addBranch().

173  {
174  std::map<AtomicId, Value>::const_iterator pos = valueMap.find(name);
175  if (pos != valueMap.end())
176  throw cms::Exception("DuplicateVariable") << "Duplicate Variable \"" << name << "\"." << std::endl;
177 
178  if (type != 'D' && type != 'F' && type != 'I' && type != 'B')
179  throw cms::Exception("InvalidType") << "Unsupported type '" << type
180  << "' in call to"
181  "TreeReader::addTypeMulti."
182  << std::endl;
183 
184  int index = -1;
185  if (!value) {
186  switch (type) {
187  case 'D':
188  index = (int)multiDouble.size();
189  multiDouble.push_back(makeMulti<Double_t>());
190  break;
191  case 'F':
192  index = (int)multiFloat.size();
193  multiFloat.push_back(makeMulti<Float_t>());
194  break;
195  case 'I':
196  index = (int)multiInt.size();
197  multiInt.push_back(makeMulti<Int_t>());
198  break;
199  case 'B':
200  index = (int)multiBool.size();
201  multiBool.push_back(makeMulti<Bool_t>());
202  break;
203  }
204  }
205 
206  valueMap[name] = Value(index, true, false, type);
207  if (value)
208  valueMap[name].setPtr(value);
209 
210  upToDate = false;
211  }
std::vector< std::pair< void *, std::vector< Float_t > > > multiFloat
Definition: TreeReader.h:97
std::vector< std::pair< void *, std::vector< Int_t > > > multiInt
Definition: TreeReader.h:98
std::vector< std::pair< void *, std::vector< Double_t > > > multiDouble
Definition: TreeReader.h:96
Definition: value.py:1
std::map< AtomicId, Value > valueMap
Definition: TreeReader.h:106
std::vector< std::pair< void *, std::vector< Bool_t > > > multiBool
Definition: TreeReader.h:99

◆ addTypeSingle()

void PhysicsTools::TreeReader::addTypeSingle ( AtomicId  name,
const void *  value,
char  type,
bool  opt 
)

Definition at line 128 of file TreeReader.cc.

References Exception, createfilelist::int, Skims_PA_cff::name, das-up-to-nevents::opt, singleBool, singleDouble, singleFloat, singleInt, upToDate, Value, and valueMap.

Referenced by addBranch().

128  {
129  std::map<AtomicId, Value>::const_iterator pos = valueMap.find(name);
130  if (pos != valueMap.end())
131  throw cms::Exception("DuplicateVariable") << "Duplicate Variable \"" << name << "\"." << std::endl;
132 
133  if (type != 'D' && type != 'F' && type != 'I' && type != 'B')
134  throw cms::Exception("InvalidType") << "Unsupported type '" << type
135  << "' in call to"
136  "TreeReader::addTypeSingle."
137  << std::endl;
138 
139  int index = -1;
140  if (!value) {
141  switch (type) {
142  case 'D':
143  index = (int)singleDouble.size();
144  singleDouble.push_back(Double_t());
145  break;
146  case 'F':
147  index = (int)singleFloat.size();
148  singleFloat.push_back(Float_t());
149  break;
150  case 'I':
151  index = (int)singleInt.size();
152  singleInt.push_back(Int_t());
153  break;
154  case 'B':
155  index = (int)singleBool.size();
156  singleBool.push_back(Bool());
157  break;
158  }
159  }
160 
161  valueMap[name] = Value(index, false, opt, type);
162  if (value)
163  valueMap[name].setPtr(value);
164 
165  upToDate = false;
166  }
int Bool
Definition: Types.h:100
std::vector< Bool > singleBool
Definition: TreeReader.h:104
Definition: value.py:1
std::map< AtomicId, Value > valueMap
Definition: TreeReader.h:106
std::vector< Double_t > singleDouble
Definition: TreeReader.h:101
std::vector< Float_t > singleFloat
Definition: TreeReader.h:102
std::vector< Int_t > singleInt
Definition: TreeReader.h:103

◆ automaticAdd()

void PhysicsTools::TreeReader::automaticAdd ( bool  skipTarget = false,
bool  skipWeight = false 
)

Definition at line 213 of file TreeReader.cc.

References addBranch(), MicroEventContent_cff::branch, Exception, and getGTfromDQMFile::obj.

Referenced by TreeReader().

213  {
214  if (!tree)
215  throw cms::Exception("NoTreeAvailable") << "No TTree set in TreeReader::automaticAdd." << std::endl;
216 
217  TIter iter(tree->GetListOfBranches());
218  TObject *obj;
219  while ((obj = iter())) {
220  TBranch *branch = dynamic_cast<TBranch *>(obj);
221  if (!branch)
222  continue;
223 
224  if (skipTarget && !std::strcmp(branch->GetName(), "__TARGET__"))
225  continue;
226 
227  if (skipWeight && !std::strcmp(branch->GetName(), "__WEIGHT__"))
228  continue;
229 
230  addBranch(branch);
231  }
232  }
void addBranch(const std::string &expression, AtomicId name=AtomicId(), bool opt=true)
Definition: TreeReader.cc:60
Definition: tree.py:1

◆ fill() [1/2]

double PhysicsTools::TreeReader::fill ( const MVAComputer mva)

Definition at line 276 of file TreeReader.cc.

References PhysicsTools::Variable::ValueList::clear(), beam_dqm_sourceclient-live_cfg::mva, mps_fire::result, valueMap, and values.

276  {
277  for (std::map<AtomicId, Value>::const_iterator iter = valueMap.begin(); iter != valueMap.end(); iter++)
278  iter->second.fill(iter->first, this);
279 
280  double result = mva->eval(values);
281  values.clear();
282 
283  return result;
284  }
Variable::ValueList values
Definition: TreeReader.h:107
std::map< AtomicId, Value > valueMap
Definition: TreeReader.h:106

◆ fill() [2/2]

Variable::ValueList PhysicsTools::TreeReader::fill ( void  )

Definition at line 286 of file TreeReader.cc.

References PhysicsTools::Variable::ValueList::clear(), mps_fire::result, valueMap, and values.

Referenced by loop().

286  {
287  for (std::map<AtomicId, Value>::const_iterator iter = valueMap.begin(); iter != valueMap.end(); iter++)
288  iter->second.fill(iter->first, this);
289 
290  Variable::ValueList result = values;
291  values.clear();
292 
293  return result;
294  }
Variable::ValueList values
Definition: TreeReader.h:107
std::map< AtomicId, Value > valueMap
Definition: TreeReader.h:106

◆ loop()

uint64_t PhysicsTools::TreeReader::loop ( const MVAComputer mva)

Definition at line 260 of file TreeReader.cc.

References mps_splice::entry, Exception, fill(), beam_dqm_sourceclient-live_cfg::mva, update(), and upToDate.

260  {
261  if (!tree)
262  throw cms::Exception("NoTreeAvailable") << "No TTree set in TreeReader::automaticAdd." << std::endl;
263 
264  if (!upToDate)
265  update();
266 
267  Long64_t entries = tree->GetEntries();
268  for (Long64_t entry = 0; entry < entries; entry++) {
269  tree->GetEntry(entry);
270  fill(mva);
271  }
272 
273  return entries;
274  }
Variable::ValueList fill()
Definition: TreeReader.cc:286
Definition: tree.py:1

◆ operator=()

TreeReader & PhysicsTools::TreeReader::operator= ( const TreeReader orig)

Definition at line 35 of file TreeReader.cc.

References multiBool, multiDouble, multiFloat, multiInt, reset(), singleBool, singleDouble, singleFloat, singleInt, tree, and valueMap.

Referenced by TreeReader().

35  {
36  reset();
37 
38  tree = orig.tree;
39 
40  multiDouble.resize(orig.multiDouble.size());
41  multiFloat.resize(orig.multiFloat.size());
42  multiInt.resize(orig.multiInt.size());
43  multiBool.resize(orig.multiBool.size());
44 
45  singleDouble.resize(orig.singleDouble.size());
46  singleFloat.resize(orig.singleFloat.size());
47  singleInt.resize(orig.singleInt.size());
48  singleBool.resize(orig.singleBool.size());
49 
50  valueMap = orig.valueMap;
51 
52  return *this;
53  }
std::vector< std::pair< void *, std::vector< Float_t > > > multiFloat
Definition: TreeReader.h:97
std::vector< Bool > singleBool
Definition: TreeReader.h:104
std::vector< std::pair< void *, std::vector< Int_t > > > multiInt
Definition: TreeReader.h:98
std::vector< std::pair< void *, std::vector< Double_t > > > multiDouble
Definition: TreeReader.h:96
std::map< AtomicId, Value > valueMap
Definition: TreeReader.h:106
std::vector< std::pair< void *, std::vector< Bool_t > > > multiBool
Definition: TreeReader.h:99
std::vector< Double_t > singleDouble
Definition: TreeReader.h:101
std::vector< Float_t > singleFloat
Definition: TreeReader.h:102
Definition: tree.py:1
std::vector< Int_t > singleInt
Definition: TreeReader.h:103

◆ reset()

void PhysicsTools::TreeReader::reset ( void  )

Definition at line 234 of file TreeReader.cc.

References multiBool, multiDouble, multiFloat, multiInt, singleBool, singleDouble, singleFloat, singleInt, upToDate, and valueMap.

Referenced by operator=().

234  {
235  multiDouble.clear();
236  multiFloat.clear();
237  multiInt.clear();
238  multiBool.clear();
239 
240  singleDouble.clear();
241  singleFloat.clear();
242  singleInt.clear();
243  singleBool.clear();
244 
245  valueMap.clear();
246 
247  upToDate = false;
248  }
std::vector< std::pair< void *, std::vector< Float_t > > > multiFloat
Definition: TreeReader.h:97
std::vector< Bool > singleBool
Definition: TreeReader.h:104
std::vector< std::pair< void *, std::vector< Int_t > > > multiInt
Definition: TreeReader.h:98
std::vector< std::pair< void *, std::vector< Double_t > > > multiDouble
Definition: TreeReader.h:96
std::map< AtomicId, Value > valueMap
Definition: TreeReader.h:106
std::vector< std::pair< void *, std::vector< Bool_t > > > multiBool
Definition: TreeReader.h:99
std::vector< Double_t > singleDouble
Definition: TreeReader.h:101
std::vector< Float_t > singleFloat
Definition: TreeReader.h:102
std::vector< Int_t > singleInt
Definition: TreeReader.h:103

◆ setOptional()

void PhysicsTools::TreeReader::setOptional ( AtomicId  name,
bool  opt,
double  optVal = kOptVal 
)

Definition at line 117 of file TreeReader.cc.

References Skims_PA_cff::name, das-up-to-nevents::opt, and valueMap.

117  {
118  std::map<AtomicId, Value>::iterator pos = valueMap.find(name);
119  if (pos == valueMap.end())
120  throw cms::Exception("UnknownVariable") << "Variable \"" << name
121  << "\" is not known to the "
122  "TreeReader."
123  << std::endl;
124 
125  pos->second.setOpt(opt, optVal);
126  }
std::map< AtomicId, Value > valueMap
Definition: TreeReader.h:106

◆ setTree()

void PhysicsTools::TreeReader::setTree ( TTree *  tree)

Definition at line 55 of file TreeReader.cc.

References tree, and upToDate.

55  {
56  this->tree = tree;
57  upToDate = false;
58  }
Definition: tree.py:1

◆ update()

void PhysicsTools::TreeReader::update ( )

Definition at line 250 of file TreeReader.cc.

References Exception, upToDate, and valueMap.

Referenced by progressbar.ProgressBar::__next__(), MatrixUtil.Matrix::__setitem__(), MatrixUtil.Steps::__setitem__(), progressbar.ProgressBar::finish(), loop(), and MatrixUtil.Steps::overwrite().

250  {
251  if (!tree)
252  throw cms::Exception("NoTreeAvailable") << "No TTree set in TreeReader::automaticAdd." << std::endl;
253 
254  for (std::map<AtomicId, Value>::iterator iter = valueMap.begin(); iter != valueMap.end(); iter++)
255  iter->second.update(this);
256 
257  upToDate = true;
258  }
std::map< AtomicId, Value > valueMap
Definition: TreeReader.h:106
Definition: tree.py:1

◆ variables()

std::vector< AtomicId > PhysicsTools::TreeReader::variables ( ) const

Definition at line 296 of file TreeReader.cc.

References mps_fire::result, and valueMap.

296  {
297  std::vector<AtomicId> result;
298  for (std::map<AtomicId, Value>::const_iterator iter = valueMap.begin(); iter != valueMap.end(); iter++)
299  result.push_back(iter->first);
300 
301  return result;
302  }
std::map< AtomicId, Value > valueMap
Definition: TreeReader.h:106

Friends And Related Function Documentation

◆ Value

friend class Value
friend

Definition at line 91 of file TreeReader.h.

Referenced by addTypeMulti(), and addTypeSingle().

Member Data Documentation

◆ kOptVal

const double PhysicsTools::TreeReader::kOptVal = -999.0
static

Definition at line 54 of file TreeReader.h.

◆ multiBool

std::vector<std::pair<void *, std::vector<Bool_t> > > PhysicsTools::TreeReader::multiBool
private

Definition at line 99 of file TreeReader.h.

Referenced by addTypeMulti(), operator=(), and reset().

◆ multiDouble

std::vector<std::pair<void *, std::vector<Double_t> > > PhysicsTools::TreeReader::multiDouble
private

Definition at line 96 of file TreeReader.h.

Referenced by addTypeMulti(), operator=(), and reset().

◆ multiFloat

std::vector<std::pair<void *, std::vector<Float_t> > > PhysicsTools::TreeReader::multiFloat
private

Definition at line 97 of file TreeReader.h.

Referenced by addTypeMulti(), operator=(), and reset().

◆ multiInt

std::vector<std::pair<void *, std::vector<Int_t> > > PhysicsTools::TreeReader::multiInt
private

Definition at line 98 of file TreeReader.h.

Referenced by addTypeMulti(), operator=(), and reset().

◆ singleBool

std::vector<Bool> PhysicsTools::TreeReader::singleBool
private

Definition at line 104 of file TreeReader.h.

Referenced by addTypeSingle(), operator=(), and reset().

◆ singleDouble

std::vector<Double_t> PhysicsTools::TreeReader::singleDouble
private

Definition at line 101 of file TreeReader.h.

Referenced by addTypeSingle(), operator=(), and reset().

◆ singleFloat

std::vector<Float_t> PhysicsTools::TreeReader::singleFloat
private

Definition at line 102 of file TreeReader.h.

Referenced by addTypeSingle(), operator=(), and reset().

◆ singleInt

std::vector<Int_t> PhysicsTools::TreeReader::singleInt
private

Definition at line 103 of file TreeReader.h.

Referenced by addTypeSingle(), operator=(), and reset().

◆ tree

TTree* PhysicsTools::TreeReader::tree
private

◆ upToDate

bool PhysicsTools::TreeReader::upToDate
private

Definition at line 108 of file TreeReader.h.

Referenced by addTypeMulti(), addTypeSingle(), loop(), reset(), setTree(), and update().

◆ valueMap

std::map<AtomicId, Value> PhysicsTools::TreeReader::valueMap
private

◆ values

Variable::ValueList PhysicsTools::TreeReader::values
private

Definition at line 107 of file TreeReader.h.

Referenced by fill(), and PhysicsTools::TreeReader::Value::fill().