CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
tnp::ProbeVariable Class Reference

A variable for the probe: can be a string expression or an external ValueMap<float> More...

#include <BaseTreeFiller.h>

Public Member Functions

float * address () const
 Addess for ROOT Branch. More...
 
void fill (const reco::CandidateBaseRef &probe) const
 To be called for each item. More...
 
void init (const edm::Event &iEvent) const
 To be called at the beginning of the event (will fetch ValueMap if needed) More...
 
const std::string & name () const
 name More...
 
 ProbeVariable (const std::string &name, const std::string &expression)
 Create a ProbeVariable to be evaluated on the fly from a string expression. More...
 
 ProbeVariable (const std::string &name, const edm::InputTag &src)
 Create a ProbeVariable to be read from a ValueMap. More...
 
 ~ProbeVariable ()
 Destructor (does nothing) More...
 

Private Attributes

bool external_
 true if it's an external ValueMap, false if it's a StringParser function More...
 
StringObjectFunction
< reco::Candidate, true > 
function_
 a lazy-parsed StringObjectFunction<reco::Candidate> that gets all the methods of daughter classes too More...
 
edm::Handle< edm::ValueMap
< float > > 
handle_
 the handle to keep the ValueMap More...
 
std::string name_
 the name of the variable, which becomes the ROOT branch name More...
 
edm::InputTag src_
 the external valuemap More...
 
float value_
 the place where we store the value, and that ROOT uses to fill the tree More...
 

Detailed Description

A variable for the probe: can be a string expression or an external ValueMap<float>

Definition at line 31 of file BaseTreeFiller.h.

Constructor & Destructor Documentation

tnp::ProbeVariable::ProbeVariable ( const std::string &  name,
const std::string &  expression 
)
inline

Create a ProbeVariable to be evaluated on the fly from a string expression.

Definition at line 34 of file BaseTreeFiller.h.

34  :
35  name_(name), external_(false), function_(expression) {}
bool external_
true if it&#39;s an external ValueMap, false if it&#39;s a StringParser function
std::string name_
the name of the variable, which becomes the ROOT branch name
const std::string & name() const
name
StringObjectFunction< reco::Candidate, true > function_
a lazy-parsed StringObjectFunction&lt;reco::Candidate&gt; that gets all the methods of daughter classes too...
tnp::ProbeVariable::ProbeVariable ( const std::string &  name,
const edm::InputTag src 
)
inline

Create a ProbeVariable to be read from a ValueMap.

Definition at line 38 of file BaseTreeFiller.h.

38  :
39  name_(name), external_(true), function_("-1"), src_(src) {}
bool external_
true if it&#39;s an external ValueMap, false if it&#39;s a StringParser function
std::string name_
the name of the variable, which becomes the ROOT branch name
const std::string & name() const
name
StringObjectFunction< reco::Candidate, true > function_
a lazy-parsed StringObjectFunction&lt;reco::Candidate&gt; that gets all the methods of daughter classes too...
edm::InputTag src_
the external valuemap
tnp::ProbeVariable::~ProbeVariable ( )

Destructor (does nothing)

Definition at line 19 of file BaseTreeFiller.cc.

19 {}

Member Function Documentation

float* tnp::ProbeVariable::address ( ) const
inline

Addess for ROOT Branch.

Definition at line 45 of file BaseTreeFiller.h.

References value_.

45 { return &value_; }
float value_
the place where we store the value, and that ROOT uses to fill the tree
void tnp::ProbeVariable::fill ( const reco::CandidateBaseRef probe) const
inline

To be called for each item.

Definition at line 56 of file BaseTreeFiller.h.

References external_, function_, and value_.

56  {
57  value_ = external_ ? (*handle_)[probe] : function_(*probe);
58  }
bool external_
true if it&#39;s an external ValueMap, false if it&#39;s a StringParser function
StringObjectFunction< reco::Candidate, true > function_
a lazy-parsed StringObjectFunction&lt;reco::Candidate&gt; that gets all the methods of daughter classes too...
float value_
the place where we store the value, and that ROOT uses to fill the tree
void tnp::ProbeVariable::init ( const edm::Event iEvent) const
inline

To be called at the beginning of the event (will fetch ValueMap if needed)

Definition at line 51 of file BaseTreeFiller.h.

References external_, edm::Event::getByLabel(), handle_, and src_.

51  {
52  if (external_) iEvent.getByLabel(src_, handle_);
53  }
bool external_
true if it&#39;s an external ValueMap, false if it&#39;s a StringParser function
edm::Handle< edm::ValueMap< float > > handle_
the handle to keep the ValueMap
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:356
edm::InputTag src_
the external valuemap
const std::string& tnp::ProbeVariable::name ( void  ) const
inline

name

Definition at line 48 of file BaseTreeFiller.h.

References name_.

Referenced by BeautifulSoup.Tag::_invert().

48 { return name_; }
std::string name_
the name of the variable, which becomes the ROOT branch name

Member Data Documentation

bool tnp::ProbeVariable::external_
private

true if it's an external ValueMap, false if it's a StringParser function

Definition at line 67 of file BaseTreeFiller.h.

Referenced by fill(), and init().

StringObjectFunction<reco::Candidate,true> tnp::ProbeVariable::function_
private

a lazy-parsed StringObjectFunction<reco::Candidate> that gets all the methods of daughter classes too

Definition at line 70 of file BaseTreeFiller.h.

Referenced by fill().

edm::Handle<edm::ValueMap<float> > tnp::ProbeVariable::handle_
mutableprivate

the handle to keep the ValueMap

Definition at line 78 of file BaseTreeFiller.h.

Referenced by init().

std::string tnp::ProbeVariable::name_
private

the name of the variable, which becomes the ROOT branch name

Definition at line 62 of file BaseTreeFiller.h.

Referenced by name().

edm::InputTag tnp::ProbeVariable::src_
private

the external valuemap

Definition at line 76 of file BaseTreeFiller.h.

Referenced by init().

float tnp::ProbeVariable::value_
mutableprivate

the place where we store the value, and that ROOT uses to fill the tree

Definition at line 64 of file BaseTreeFiller.h.

Referenced by address(), and fill().