CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Classes | Typedefs | Functions
cand::parser Namespace Reference

Classes

struct  ConjInfo
 
class  ModeSetter
 

Typedefs

typedef rule< ScannerUsed_1Rule_1
 
typedef scanner_policies
< skip_parser_iteration_policy
< nothing_parser,
iteration_policy >
, match_policy, action_policy > 
ScannerPolicy
 
typedef scanner< const char
*, ScannerPolicy
ScannerUsed_1
 

Functions

bool decayParser (const string &iValue, vector< ConjInfo > &oStrings)
 
bool decayParser (const std::string &iValue, std::vector< ConjInfo > &oStrings)
 
std::ostream & operator<< (std::ostream &out, const ConjInfo &info)
 

Typedef Documentation

Definition at line 38 of file decayParser.cc.

typedef scanner_policies<skip_parser_iteration_policy<nothing_parser, iteration_policy>, match_policy, action_policy> cand::parser::ScannerPolicy

Definition at line 36 of file decayParser.cc.

typedef scanner<const char*, ScannerPolicy > cand::parser::ScannerUsed_1

Definition at line 37 of file decayParser.cc.

Function Documentation

bool cand::parser::decayParser ( const string &  iValue,
vector< ConjInfo > &  oStrings 
)

Definition at line 40 of file decayParser.cc.

References full, reco::ParticleMasses::kPlus, diffTwoXMLs::label, and triggerExpression::parse().

40  {
41  using namespace boost::spirit;
42 
43  Rule_1 label = ((+alnum_p) >> *ch_p(':') >> *ch_p('_') >>*alnum_p)[push_back_a(oStrings)];
44  Rule_1 conj = (ch_p('@') >> !((ch_p('b')>>ch_p('a')>>ch_p('r')[ModeSetter(oStrings,ConjInfo::kBar)] )|
45  ch_p('+')[ModeSetter(oStrings,ConjInfo::kPlus)] |
46  ch_p('-')[ModeSetter(oStrings,ConjInfo::kMinus)]) );
47 
48  return parse( iValue.c_str(),
49  (
50  (label >> ! conj)
51  % blank_p
52  )
53  ,
54  nothing_p).full;
55  }
rule< ScannerUsed_1 > Rule_1
Definition: decayParser.cc:38
Evaluator * parse(const T &text)
Definition: GenABIO.cc:193
bool cand::parser::decayParser ( const std::string &  iValue,
std::vector< ConjInfo > &  oStrings 
)
std::ostream& cand::parser::operator<< ( std::ostream &  out,
const ConjInfo &  info 
)
inline

Definition at line 44 of file decayParser.h.

References edm::InputTag::encode(), cand::parser::ConjInfo::kBar, cand::parser::ConjInfo::kPlus, cand::parser::ConjInfo::mode_, and cand::parser::ConjInfo::tag_.

44  {
45  return out << info.tag_ .encode() << " "
46  << ( 0 == info.mode_ ? "p" : ( info.mode_ == ConjInfo::kBar ? "b" : (info.mode_ == ConjInfo::kPlus ? "+" : "-" ) ) );
47  }
tuple out
Definition: dbtoconf.py:99