CMS 3D CMS Logo

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

Group of paterns for "improved"("energetic") algorithm. In current implementation all patterns in given group must have the same code and sign. All patterns must have the same m_QualityTabNumber. Patterns of given code and sign can be devided between a few EPatternsGroups, indexed by m_RefGroup. The group m_Code, m_Sign, m_RefGroup is definded by pattern index 0 in m_PatternsVec. More...

#include <TEPatternsGroup.h>

Inheritance diagram for TEPatternsGroup:
TPatternsGroup

Public Member Functions

bool check (const RPCPattern::RPCPatVec::const_iterator &pattern)
 Checks, if patern can belong to this group, i.e. if has the same m_Code, m_Sign, m_RefGroup and m_QualityTabNumber. More...
 
bool operator< (const TEPatternsGroup &ePatternsGroup) const
 used for sorting TEPatternsGroups More...
 
 TEPatternsGroup (const RPCPattern::RPCPatVec::const_iterator &pattern)
 
- Public Member Functions inherited from TPatternsGroup
void addPattern (const RPCPattern::RPCPatVec::const_iterator &pattern)
 
std::string getGroupDescription () const
 
RPCPattern::TPatternType getPatternsGroupType () const
 
void setGroupDescription (std::string groupDescription)
 
void setPatternsGroupType (RPCPattern::TPatternType patternsGroupType)
 
void updateShape (const RPCPattern::RPCPatVec::const_iterator &pattern)
 Updates m_GroupShape, i.e. sets to true strips belonging to the pattern. Coleed in addPattern() More...
 

Private Attributes

short m_QualityTabNumber
 

Friends

class RPCPac
 

Additional Inherited Members

- Protected Attributes inherited from TPatternsGroup
std::string m_GroupDescription
 
RPCLogCone m_GroupShape
 
RPCPattern::TPatternType m_PatternsGroupType
 
std::vector< RPCPattern::RPCPatVec::const_iterator > m_PatternsItVec
 < Vector of itereator on m_PatternsVec in Pac. More...
 

Detailed Description

Group of paterns for "improved"("energetic") algorithm. In current implementation all patterns in given group must have the same code and sign. All patterns must have the same m_QualityTabNumber. Patterns of given code and sign can be devided between a few EPatternsGroups, indexed by m_RefGroup. The group m_Code, m_Sign, m_RefGroup is definded by pattern index 0 in m_PatternsVec.

Author
Karol Bunkowski (Warsaw),
Tomasz Fruboes (Warsaw) - porting to CMSSW

Definition at line 23 of file TEPatternsGroup.h.

Constructor & Destructor Documentation

◆ TEPatternsGroup()

TEPatternsGroup::TEPatternsGroup ( const RPCPattern::RPCPatVec::const_iterator &  pattern)

Creates new patterns group. The pattern is added to the group and defined its m_Code, m_Sign, m_RefGroup, m_QualityTabNumber.

Definition at line 10 of file TEPatternsGroup.cc.

10  {
13  m_QualityTabNumber = pattern->getQualityTabNumber(); //it is uded in m_PAC algorithm, so we want to have fast acces.
14 }

References TPatternsGroup::addPattern(), TPatternsGroup::m_PatternsGroupType, m_QualityTabNumber, RPCPattern::PAT_TYPE_E, and topSingleLeptonDQM_PU_cfi::pattern.

Member Function Documentation

◆ check()

bool TEPatternsGroup::check ( const RPCPattern::RPCPatVec::const_iterator &  pattern)

Checks, if patern can belong to this group, i.e. if has the same m_Code, m_Sign, m_RefGroup and m_QualityTabNumber.

Definition at line 16 of file TEPatternsGroup.cc.

16  {
17  if (m_PatternsItVec[0]->getRefGroup() == pattern->getRefGroup() &&
18  m_PatternsItVec[0]->getCode() == pattern->getCode() && m_PatternsItVec[0]->getSign() == pattern->getSign() &&
19  m_PatternsItVec[0]->getQualityTabNumber() == pattern->getQualityTabNumber())
20  return true;
21  return false;
22 }

References TPatternsGroup::m_PatternsItVec, and topSingleLeptonDQM_PU_cfi::pattern.

◆ operator<()

bool TEPatternsGroup::operator< ( const TEPatternsGroup ePatternsGroup) const

used for sorting TEPatternsGroups

Definition at line 24 of file TEPatternsGroup.cc.

24  {
25  if (this->m_PatternsItVec[0]->getCode() < ePatternsGroup.m_PatternsItVec[0]->getCode())
26  return true;
27  else if (this->m_PatternsItVec[0]->getCode() > ePatternsGroup.m_PatternsItVec[0]->getCode())
28  return false;
29  else { //==
30  if (this->m_PatternsItVec[0]->getQualityTabNumber() > ePatternsGroup.m_PatternsItVec[0]->getQualityTabNumber())
31  return true;
32  else if (this->m_PatternsItVec[0]->getQualityTabNumber() < ePatternsGroup.m_PatternsItVec[0]->getQualityTabNumber())
33  return false;
34  else { //==
35  if (this->m_PatternsItVec[0]->getSign() < ePatternsGroup.m_PatternsItVec[0]->getSign())
36  return true;
37  else if (this->m_PatternsItVec[0]->getSign() > ePatternsGroup.m_PatternsItVec[0]->getSign())
38  return false;
39  else { //==
40  if (this->m_PatternsItVec[0]->getRefGroup() < ePatternsGroup.m_PatternsItVec[0]->getRefGroup())
41  return true;
42  else //if(this->m_RefGroup < ePatternsGroup.m_RefGroup)
43  return false;
44  }
45  }
46  }
47 }

References TPatternsGroup::m_PatternsItVec.

Friends And Related Function Documentation

◆ RPCPac

friend class RPCPac
friend

Definition at line 25 of file TEPatternsGroup.h.

Member Data Documentation

◆ m_QualityTabNumber

short TEPatternsGroup::m_QualityTabNumber
private

Definition at line 37 of file TEPatternsGroup.h.

Referenced by TEPatternsGroup().

TPatternsGroup::addPattern
void addPattern(const RPCPattern::RPCPatVec::const_iterator &pattern)
Definition: TPatternsGroup.cc:19
RPCPattern::PAT_TYPE_E
static const TPatternType PAT_TYPE_E
Definition: RPCPattern.h:56
TPatternsGroup::m_PatternsGroupType
RPCPattern::TPatternType m_PatternsGroupType
Definition: TPatternsGroup.h:41
TEPatternsGroup::m_QualityTabNumber
short m_QualityTabNumber
Definition: TEPatternsGroup.h:37
topSingleLeptonDQM_PU_cfi.pattern
pattern
Definition: topSingleLeptonDQM_PU_cfi.py:39
TPatternsGroup::m_PatternsItVec
std::vector< RPCPattern::RPCPatVec::const_iterator > m_PatternsItVec
< Vector of itereator on m_PatternsVec in Pac.
Definition: TPatternsGroup.h:45