CMS 3D CMS Logo

List of all members | Classes | Public Member Functions | Private Member Functions | Private Attributes | Friends
CorrelationThreeBodyTemplate Class Reference

#include <CorrelationThreeBodyTemplate.h>

Inheritance diagram for CorrelationThreeBodyTemplate:
GlobalCondition

Classes

struct  CorrelationThreeBodyParameter
 typedef for correlation three-body parameters More...
 

Public Member Functions

const l1t::GtConditionCategory cond0Category () const
 get / set the category of the three subconditions More...
 
const int cond0Index () const
 get / set the index of the three subconditions in the cor* vector from menu More...
 
const l1t::GtConditionCategory cond1Category () const
 
const int cond1Index () const
 
const l1t::GtConditionCategory cond2Category () const
 
const int cond2Index () const
 
const CorrelationThreeBodyParametercorrelationThreeBodyParameter () const
 get / set correlation parameters More...
 
 CorrelationThreeBodyTemplate ()
 
 CorrelationThreeBodyTemplate (const std::string &)
 from condition name More...
 
 CorrelationThreeBodyTemplate (const std::string &, const l1t::GtConditionCategory &, const l1t::GtConditionCategory &, const l1t::GtConditionCategory &, const int, const int, const int)
 
 CorrelationThreeBodyTemplate (const CorrelationThreeBodyTemplate &)
 copy constructor More...
 
CorrelationThreeBodyTemplateoperator= (const CorrelationThreeBodyTemplate &)
 assign operator More...
 
void print (std::ostream &myCout) const override
 print the condition More...
 
void setCond0Category (const l1t::GtConditionCategory &)
 
void setCond0Index (const int &)
 
void setCond1Category (const l1t::GtConditionCategory &)
 
void setCond1Index (const int &)
 
void setCond2Category (const l1t::GtConditionCategory &)
 
void setCond2Index (const int &)
 
void setCorrelationThreeBodyParameter (const CorrelationThreeBodyParameter &corrThreeBodyParameter)
 
 ~CorrelationThreeBodyTemplate () override
 destructor More...
 
- Public Member Functions inherited from GlobalCondition
const l1t::GtConditionCategorycondCategory () const
 get / set the category of the condition More...
 
const int & condChipNr () const
 get / set the condition-chip number the condition is located on More...
 
const bool condGEq () const
 get / set condition GEq flag More...
 
const std::string & condName () const
 get / set condition name More...
 
const int & condRelativeBx () const
 get / set the condition relative bx More...
 
const l1t::GtConditionTypecondType () const
 get / set the type of the condition (1s, etc) More...
 
const bool corr () const
 
const bool corrThree () const
 get logic flag for three-body conditions, trigger objects are muons More...
 
 GlobalCondition ()
 
 GlobalCondition (const std::string &)
 constructor from condition name More...
 
 GlobalCondition (const std::string &, const l1t::GtConditionCategory &, const l1t::GtConditionType &)
 constructor from condition name, category and type More...
 
const int nrObjects () const
 get number of trigger objects More...
 
const std::vector< l1t::GlobalObject > & objectType () const
 get / set the trigger object type(s) in the condition More...
 
void setCondCategory (const l1t::GtConditionCategory &cCategory)
 
void setCondChipNr (const int &cChipNr)
 
void setCondGEq (const bool &cGEq)
 
void setCondName (const std::string &cName)
 
void setCondRelativeBx (const int &cRelativeBx)
 
void setCondType (const l1t::GtConditionType &cType)
 
void setObjectType (const std::vector< l1t::GlobalObject > &objType)
 
const bool wsc () const
 
virtual ~GlobalCondition ()
 destructor More...
 

Private Member Functions

void copy (const CorrelationThreeBodyTemplate &cp)
 copy function for copy constructor and operator= More...
 

Private Attributes

l1t::GtConditionCategory m_cond0Category
 
int m_cond0Index
 
l1t::GtConditionCategory m_cond1Category
 
int m_cond1Index
 
l1t::GtConditionCategory m_cond2Category
 
int m_cond2Index
 
CorrelationThreeBodyParameter m_correlationThreeBodyParameter
 

Friends

std::ostream & operator<< (std::ostream &, const CorrelationThreeBodyTemplate &)
 output stream operator More...
 

Additional Inherited Members

- Protected Attributes inherited from GlobalCondition
l1t::GtConditionCategory m_condCategory
 the category of the condition More...
 
int m_condChipNr
 condition is located on condition chip m_condChipNr More...
 
bool m_condGEq = false
 the operator used for the condition (>=, =): true for >= More...
 
std::string m_condName
 the name of the condition More...
 
int m_condRelativeBx
 
l1t::GtConditionType m_condType
 the type of the condition (1s, etc) More...
 
std::vector< l1t::GlobalObjectm_objectType
 the trigger object type(s) More...
 

Detailed Description

Description: L1 Global Trigger three-body correlation template: include invariant mass calculation for three-muon events

Implementation: <TODO: enter implementation details>

Author
: Elisa Fontanesi - Boston University Starting from CorrelationTemplate.h written by Vasile Mihai Ghete - HEPHY Vienna

$Date$ $Revision$

Description: L1 Global Trigger three-body correlation template:
include invariant mass calculation for three-muon events
Implementation: <TODO: enter implementation details>

Author
: Elisa Fontanesi - Boston University
CorrelationTemplate and CorrelationWithOverlapRemovalTemplate classes used as a starting point
$Date$ $Revision$

Definition at line 35 of file CorrelationThreeBodyTemplate.h.

Constructor & Destructor Documentation

◆ CorrelationThreeBodyTemplate() [1/4]

CorrelationThreeBodyTemplate::CorrelationThreeBodyTemplate ( )

constructor(s) default

Definition at line 34 of file CorrelationThreeBodyTemplate.cc.

References l1t::CondCorrelationThreeBody, l1t::CondNull, m_cond0Category, m_cond0Index, m_cond1Category, m_cond1Index, m_cond2Category, m_cond2Index, GlobalCondition::m_condCategory, GlobalCondition::m_condChipNr, GlobalCondition::m_condType, GlobalCondition::m_objectType, GlobalCondition::nrObjects(), and l1t::Type3s.

34  : GlobalCondition() {
37  m_condChipNr = -1;
38 
39  // there are in fact three objects according to m_condType = l1t::Type3s as defined in CondFormats/L1TObjects/src/L1GtCondition.cc
40  int nObjects = nrObjects();
41 
42  if (nObjects > 0) {
43  m_objectType.reserve(nObjects);
44  }
45 
49  m_cond0Index = -1;
50  m_cond1Index = -1;
51  m_cond2Index = -1;
52 }
int m_condChipNr
condition is located on condition chip m_condChipNr
l1t::GtConditionCategory m_condCategory
the category of the condition
const int nrObjects() const
get number of trigger objects
std::vector< l1t::GlobalObject > m_objectType
the trigger object type(s)
l1t::GtConditionType m_condType
the type of the condition (1s, etc)

◆ CorrelationThreeBodyTemplate() [2/4]

CorrelationThreeBodyTemplate::CorrelationThreeBodyTemplate ( const std::string &  cName)

from condition name

Definition at line 55 of file CorrelationThreeBodyTemplate.cc.

References l1t::CondCorrelationThreeBody, l1t::CondNull, m_cond0Category, m_cond0Index, m_cond1Category, m_cond1Index, m_cond2Category, m_cond2Index, GlobalCondition::m_condCategory, GlobalCondition::m_condChipNr, GlobalCondition::m_condType, GlobalCondition::m_objectType, GlobalCondition::nrObjects(), and l1t::Type3s.

55  : GlobalCondition(cName) {
58  m_condChipNr = -1;
59 
60  // there are in fact three objects according to m_condType = l1t::Type3s as defined in CondFormats/L1TObjects/src/L1GtCondition.cc
61  int nObjects = nrObjects();
62 
63  if (nObjects > 0) {
64  m_objectType.reserve(nObjects);
65  }
66 
70  m_cond0Index = -1;
71  m_cond1Index = -1;
72  m_cond2Index = -1;
73 }
int m_condChipNr
condition is located on condition chip m_condChipNr
l1t::GtConditionCategory m_condCategory
the category of the condition
const int nrObjects() const
get number of trigger objects
std::vector< l1t::GlobalObject > m_objectType
the trigger object type(s)
l1t::GtConditionType m_condType
the type of the condition (1s, etc)

◆ CorrelationThreeBodyTemplate() [3/4]

CorrelationThreeBodyTemplate::CorrelationThreeBodyTemplate ( const std::string &  cName,
const l1t::GtConditionCategory cond0Cat,
const l1t::GtConditionCategory cond1Cat,
const l1t::GtConditionCategory cond2Cat,
const int  cond0Index,
const int  cond1index,
const int  cond2index 
)

from condition name, the category of first, second, and third subcondition, the index of first, second, third subcondition in the cor* vector

Definition at line 78 of file CorrelationThreeBodyTemplate.cc.

References l1t::CondCorrelationThreeBody, GlobalCondition::m_condCategory, GlobalCondition::m_condChipNr, GlobalCondition::m_condType, GlobalCondition::m_objectType, GlobalCondition::nrObjects(), and l1t::Type3s.

85  : GlobalCondition(cName),
86  m_cond0Category(cond0Cat),
87  m_cond1Category(cond1Cat),
88  m_cond2Category(cond2Cat),
90  m_cond1Index(cond1index),
91  m_cond2Index(cond2index)
92 
93 {
96  m_condChipNr = -1;
97 
98  // there are in fact three objects according to m_condType = l1t::Type3s as defined in CondFormats/L1TObjects/src/L1GtCondition.cc
99  int nObjects = nrObjects();
100 
101  if (nObjects > 0) {
102  m_objectType.resize(nObjects);
103  }
104 }
int m_condChipNr
condition is located on condition chip m_condChipNr
l1t::GtConditionCategory m_condCategory
the category of the condition
const int cond0Index() const
get / set the index of the three subconditions in the cor* vector from menu
const int nrObjects() const
get number of trigger objects
std::vector< l1t::GlobalObject > m_objectType
the trigger object type(s)
l1t::GtConditionType m_condType
the type of the condition (1s, etc)

◆ CorrelationThreeBodyTemplate() [4/4]

CorrelationThreeBodyTemplate::CorrelationThreeBodyTemplate ( const CorrelationThreeBodyTemplate cp)

copy constructor

Definition at line 107 of file CorrelationThreeBodyTemplate.cc.

References copy().

108  : GlobalCondition(cp.m_condName) {
109  copy(cp);
110 }
void copy(const CorrelationThreeBodyTemplate &cp)
copy function for copy constructor and operator=

◆ ~CorrelationThreeBodyTemplate()

CorrelationThreeBodyTemplate::~CorrelationThreeBodyTemplate ( )
override

destructor

Definition at line 113 of file CorrelationThreeBodyTemplate.cc.

113  {
114  // empty now
115 }

Member Function Documentation

◆ cond0Category()

const l1t::GtConditionCategory CorrelationThreeBodyTemplate::cond0Category ( ) const
inline

get / set the category of the three subconditions

Definition at line 84 of file CorrelationThreeBodyTemplate.h.

References m_cond0Category.

Referenced by l1t::GlobalBoard::runGTL().

84 { return m_cond0Category; }

◆ cond0Index()

const int CorrelationThreeBodyTemplate::cond0Index ( ) const
inline

get / set the index of the three subconditions in the cor* vector from menu

Definition at line 93 of file CorrelationThreeBodyTemplate.h.

References m_cond0Index.

Referenced by l1t::GlobalBoard::runGTL().

◆ cond1Category()

const l1t::GtConditionCategory CorrelationThreeBodyTemplate::cond1Category ( ) const
inline

Definition at line 85 of file CorrelationThreeBodyTemplate.h.

References m_cond1Category.

Referenced by l1t::GlobalBoard::runGTL().

85 { return m_cond1Category; }

◆ cond1Index()

const int CorrelationThreeBodyTemplate::cond1Index ( ) const
inline

◆ cond2Category()

const l1t::GtConditionCategory CorrelationThreeBodyTemplate::cond2Category ( ) const
inline

Definition at line 86 of file CorrelationThreeBodyTemplate.h.

References m_cond2Category.

Referenced by l1t::GlobalBoard::runGTL().

86 { return m_cond2Category; }

◆ cond2Index()

const int CorrelationThreeBodyTemplate::cond2Index ( ) const
inline

◆ copy()

void CorrelationThreeBodyTemplate::copy ( const CorrelationThreeBodyTemplate cp)
private

copy function for copy constructor and operator=

Definition at line 176 of file CorrelationThreeBodyTemplate.cc.

References m_cond0Category, m_cond0Index, m_cond1Category, m_cond1Index, m_cond2Category, m_cond2Index, GlobalCondition::m_condCategory, GlobalCondition::m_condChipNr, GlobalCondition::m_condGEq, GlobalCondition::m_condName, GlobalCondition::m_condType, m_correlationThreeBodyParameter, and GlobalCondition::m_objectType.

Referenced by CorrelationThreeBodyTemplate(), and operator=().

176  {
177  m_condName = cp.condName();
178  m_condCategory = cp.condCategory();
179  m_condType = cp.condType();
180  m_objectType = cp.objectType();
181  m_condGEq = cp.condGEq();
182  m_condChipNr = cp.condChipNr();
183 
184  m_cond0Category = cp.cond0Category();
185  m_cond1Category = cp.cond1Category();
186  m_cond2Category = cp.cond2Category();
187  m_cond0Index = cp.cond0Index();
188  m_cond1Index = cp.cond1Index();
189  m_cond2Index = cp.cond2Index();
190 
191  m_correlationThreeBodyParameter = *(cp.correlationThreeBodyParameter());
192 }
bool m_condGEq
the operator used for the condition (>=, =): true for >=
std::string m_condName
the name of the condition
int m_condChipNr
condition is located on condition chip m_condChipNr
l1t::GtConditionCategory m_condCategory
the category of the condition
CorrelationThreeBodyParameter m_correlationThreeBodyParameter
std::vector< l1t::GlobalObject > m_objectType
the trigger object type(s)
l1t::GtConditionType m_condType
the type of the condition (1s, etc)

◆ correlationThreeBodyParameter()

const CorrelationThreeBodyParameter* CorrelationThreeBodyTemplate::correlationThreeBodyParameter ( ) const
inline

get / set correlation parameters

Definition at line 102 of file CorrelationThreeBodyTemplate.h.

References m_correlationThreeBodyParameter.

102  {
104  }
CorrelationThreeBodyParameter m_correlationThreeBodyParameter

◆ operator=()

CorrelationThreeBodyTemplate & CorrelationThreeBodyTemplate::operator= ( const CorrelationThreeBodyTemplate cp)

assign operator

Definition at line 118 of file CorrelationThreeBodyTemplate.cc.

References copy().

118  {
119  copy(cp);
120  return *this;
121 }
void copy(const CorrelationThreeBodyTemplate &cp)
copy function for copy constructor and operator=

◆ print()

void CorrelationThreeBodyTemplate::print ( std::ostream &  myCout) const
overridevirtual

print the condition

Reimplemented from GlobalCondition.

Definition at line 145 of file CorrelationThreeBodyTemplate.cc.

References CorrelationThreeBodyTemplate::CorrelationThreeBodyParameter::corrCutType, TauDecayModes::dec, m_cond0Category, m_cond0Index, m_cond1Category, m_cond1Index, m_cond2Category, m_cond2Index, m_correlationThreeBodyParameter, CorrelationThreeBodyTemplate::CorrelationThreeBodyParameter::maxEtaCutValue, CorrelationThreeBodyTemplate::CorrelationThreeBodyParameter::maxMassCutValue, CorrelationThreeBodyTemplate::CorrelationThreeBodyParameter::maxPhiCutValue, CorrelationThreeBodyTemplate::CorrelationThreeBodyParameter::minEtaCutValue, CorrelationThreeBodyTemplate::CorrelationThreeBodyParameter::minMassCutValue, CorrelationThreeBodyTemplate::CorrelationThreeBodyParameter::minPhiCutValue, CorrelationThreeBodyTemplate::CorrelationThreeBodyParameter::precEtaCut, CorrelationThreeBodyTemplate::CorrelationThreeBodyParameter::precMassCut, CorrelationThreeBodyTemplate::CorrelationThreeBodyParameter::precPhiCut, and GlobalCondition::print().

Referenced by l1t::TriggerMenuParser::parseCorrelationThreeBody().

145  {
146  myCout << "\n CorrelationThreeBodyTemplate print..." << std::endl;
147 
148  GlobalCondition::print(myCout);
149 
150  myCout << "\n First subcondition category: " << m_cond0Category << std::endl;
151  myCout << " Second subcondition category: " << m_cond1Category << std::endl;
152  myCout << " Third subcondition category: " << m_cond2Category << std::endl;
153 
154  myCout << "\n First subcondition index: " << m_cond0Index << std::endl;
155  myCout << " Second subcondition index: " << m_cond1Index << std::endl;
156  myCout << " Third subcondition index: " << m_cond2Index << std::endl;
157 
158  myCout << "\n Correlation parameter: "
159  << "[ hex ]" << std::endl;
160 
161  myCout << " Cut Type: " << m_correlationThreeBodyParameter.corrCutType << std::endl;
162  myCout << " minEtaCutValue = " << std::dec << m_correlationThreeBodyParameter.minEtaCutValue << std::endl;
163  myCout << " maxEtaCutValue = " << std::dec << m_correlationThreeBodyParameter.maxEtaCutValue << std::endl;
164  myCout << " precEtaCut = " << std::dec << m_correlationThreeBodyParameter.precEtaCut << std::endl;
165  myCout << " minPhiCutValue = " << std::dec << m_correlationThreeBodyParameter.minPhiCutValue << std::endl;
166  myCout << " maxPhiCutValue = " << std::dec << m_correlationThreeBodyParameter.maxPhiCutValue << std::endl;
167  myCout << " precPhiCut = " << std::dec << m_correlationThreeBodyParameter.precPhiCut << std::endl;
168  myCout << " minMassCutValue = " << std::dec << m_correlationThreeBodyParameter.minMassCutValue << std::endl;
169  myCout << " maxMassCutValue = " << std::dec << m_correlationThreeBodyParameter.maxMassCutValue << std::endl;
170  myCout << " precMassCut = " << std::dec << m_correlationThreeBodyParameter.precMassCut << std::endl;
171 
172  // reset to decimal output
173  myCout << std::dec << std::endl;
174 }
CorrelationThreeBodyParameter m_correlationThreeBodyParameter
virtual void print(std::ostream &myCout) const
print condition

◆ setCond0Category()

void CorrelationThreeBodyTemplate::setCond0Category ( const l1t::GtConditionCategory condCateg)

Definition at line 124 of file CorrelationThreeBodyTemplate.cc.

References m_cond0Category.

Referenced by l1t::TriggerMenuParser::parseCorrelationThreeBody().

124  {
125  m_cond0Category = condCateg;
126 }

◆ setCond0Index()

void CorrelationThreeBodyTemplate::setCond0Index ( const int &  condIndex)

◆ setCond1Category()

void CorrelationThreeBodyTemplate::setCond1Category ( const l1t::GtConditionCategory condCateg)

Definition at line 127 of file CorrelationThreeBodyTemplate.cc.

References m_cond1Category.

Referenced by l1t::TriggerMenuParser::parseCorrelationThreeBody().

127  {
128  m_cond1Category = condCateg;
129 }

◆ setCond1Index()

void CorrelationThreeBodyTemplate::setCond1Index ( const int &  condIndex)

◆ setCond2Category()

void CorrelationThreeBodyTemplate::setCond2Category ( const l1t::GtConditionCategory condCateg)

Definition at line 130 of file CorrelationThreeBodyTemplate.cc.

References m_cond2Category.

Referenced by l1t::TriggerMenuParser::parseCorrelationThreeBody().

130  {
131  m_cond2Category = condCateg;
132 }

◆ setCond2Index()

void CorrelationThreeBodyTemplate::setCond2Index ( const int &  condIndex)

◆ setCorrelationThreeBodyParameter()

void CorrelationThreeBodyTemplate::setCorrelationThreeBodyParameter ( const CorrelationThreeBodyParameter corrThreeBodyParameter)

Definition at line 140 of file CorrelationThreeBodyTemplate.cc.

References m_correlationThreeBodyParameter.

Referenced by l1t::TriggerMenuParser::parseCorrelationThreeBody().

141  {
142  m_correlationThreeBodyParameter = corrThreeBodyParameter;
143 }
CorrelationThreeBodyParameter m_correlationThreeBodyParameter

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  os,
const CorrelationThreeBodyTemplate result 
)
friend

output stream operator

Definition at line 195 of file CorrelationThreeBodyTemplate.cc.

195  {
196  result.print(os);
197  return os;
198 }

Member Data Documentation

◆ m_cond0Category

l1t::GtConditionCategory CorrelationThreeBodyTemplate::m_cond0Category
private

◆ m_cond0Index

int CorrelationThreeBodyTemplate::m_cond0Index
private

◆ m_cond1Category

l1t::GtConditionCategory CorrelationThreeBodyTemplate::m_cond1Category
private

◆ m_cond1Index

int CorrelationThreeBodyTemplate::m_cond1Index
private

◆ m_cond2Category

l1t::GtConditionCategory CorrelationThreeBodyTemplate::m_cond2Category
private

◆ m_cond2Index

int CorrelationThreeBodyTemplate::m_cond2Index
private

◆ m_correlationThreeBodyParameter

CorrelationThreeBodyParameter CorrelationThreeBodyTemplate::m_correlationThreeBodyParameter
private