CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Public Attributes | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes
CSCMotherboard Class Reference

#include <CSCMotherboard.h>

Inheritance diagram for CSCMotherboard:
CSCMotherboardME11 CSCMotherboardME11GEM CSCMotherboardME21GEM CSCMotherboardME3141RPC

Public Member Functions

void clear ()
 
 CSCMotherboard (unsigned endcap, unsigned station, unsigned sector, unsigned subsector, unsigned chamber, const edm::ParameterSet &conf)
 
 CSCMotherboard ()
 
std::vector< CSCCorrelatedLCTDigigetLCTs ()
 
std::vector< CSCCorrelatedLCTDigireadoutLCTs ()
 
void run (const std::vector< int > w_time[CSCConstants::NUM_LAYERS][CSCConstants::MAX_NUM_WIRES], const std::vector< int > hs_times[CSCConstants::NUM_LAYERS][CSCConstants::NUM_HALF_STRIPS_7CFEBS], const std::vector< int > ds_times[CSCConstants::NUM_LAYERS][CSCConstants::NUM_HALF_STRIPS_7CFEBS])
 
void run (const CSCWireDigiCollection *wiredc, const CSCComparatorDigiCollection *compdc)
 
void setConfigParameters (const CSCDBL1TPParameters *conf)
 
 ~CSCMotherboard ()
 

Public Attributes

std::unique_ptr
< CSCAnodeLCTProcessor
alct
 
std::unique_ptr
< CSCCathodeLCTProcessor
clct
 

Protected Types

enum  { MAX_LCT_BINS = 16 }
 

Protected Member Functions

void checkConfigParameters ()
 
CSCCorrelatedLCTDigi constructLCTs (const CSCALCTDigi &aLCT, const CSCCLCTDigi &cLCT)
 
void correlateLCTs (CSCALCTDigi bestALCT, CSCALCTDigi secondALCT, CSCCLCTDigi bestCLCT, CSCCLCTDigi secondCLCT)
 
void dumpConfigParams () const
 
unsigned int encodePattern (const int ptn, const int highPt)
 
unsigned int findQuality (const CSCALCTDigi &aLCT, const CSCCLCTDigi &cLCT)
 
void testLCT ()
 

Static Protected Member Functions

static bool sortByGEMDphi (const CSCCorrelatedLCTDigi &, const CSCCorrelatedLCTDigi &)
 
static bool sortByQuality (const CSCCorrelatedLCTDigi &, const CSCCorrelatedLCTDigi &)
 

Protected Attributes

unsigned int alct_trig_enable
 
unsigned int clct_trig_enable
 
bool drop_used_alcts
 
int early_tbins
 
CSCCorrelatedLCTDigi firstLCT [MAX_LCT_BINS]
 
int infoV
 
bool isMTCC
 
bool isSLHC
 
bool isTMB07
 
int lct_central_bx
 
unsigned int match_trig_enable
 
unsigned int match_trig_window_size
 
unsigned int mpc_block_me1a
 
bool readout_earliest_2
 
CSCCorrelatedLCTDigi secondLCT [MAX_LCT_BINS]
 
const unsigned theEndcap
 
unsigned theRing
 
const unsigned theSector
 
const unsigned theStation
 
const unsigned theSubsector
 
const unsigned theTrigChamber
 
unsigned int tmb_l1a_window_size
 

Static Protected Attributes

static const unsigned int def_alct_trig_enable = 0
 
static const unsigned int def_clct_trig_enable = 0
 
static const unsigned int def_match_trig_enable = 1
 
static const unsigned int def_match_trig_window_size = 7
 
static const unsigned int def_mpc_block_me1a = 1
 
static const unsigned int def_tmb_l1a_window_size = 7
 

Detailed Description

Correlates anode and cathode LCTs from the same chamber.

When the Trigger MotherBoard (TMB) is instantiated it instantiates an ALCT and CLCT board. The MotherBoard takes up to two LCTs from each anode and cathode LCT card and combines them into a single Correlated LCT. The output is up to two Correlated LCTs.

It can be run in either a test mode, where the arguments are a collection of wire times and arrays of halfstrip and distrip times, or for general use, with wire digi and comparator digi collections as arguments. In the latter mode, the wire & strip info is passed on the LCTProcessors, where it is decoded and converted into a convenient form. After running the anode and cathode LCTProcessors, TMB correlates the anode and cathode LCTs. At present, it simply matches the best CLCT with the best ALCT; perhaps a better algorithm will be determined in the future. The MotherBoard then determines a few more numbers (such as quality and pattern) from the ALCT and CLCT information, and constructs two correlated LCT "digis".

Author
Benn Tannenbaum 28 August 1999 benn@.nosp@m.phys.nosp@m.ics.u.nosp@m.cla..nosp@m.edu

Based on code by Nick Wisniewski (nw@it.nosp@m.s.ca.nosp@m.ltech.nosp@m..edu) and a framework by Darin Acosta (acost.nosp@m.a@ph.nosp@m.ys.uf.nosp@m.l.ed.nosp@m.u).

Numerous later improvements by Jason Mumford and Slava Valuev (see cvs in ORCA). Porting from ORCA by S. Valuev (Slava.nosp@m..Val.nosp@m.uev@c.nosp@m.ern..nosp@m.ch), May 2006.

Definition at line 41 of file CSCMotherboard.h.

Member Enumeration Documentation

anonymous enum
protected

Maximum number of time bins.

Enumerator
MAX_LCT_BINS 

Definition at line 131 of file CSCMotherboard.h.

Constructor & Destructor Documentation

CSCMotherboard::CSCMotherboard ( unsigned  endcap,
unsigned  station,
unsigned  sector,
unsigned  subsector,
unsigned  chamber,
const edm::ParameterSet conf 
)

Normal constructor.

Definition at line 49 of file CSCMotherboard.cc.

CSCMotherboard::CSCMotherboard ( )

Constructor for use during testing.

Definition at line 168 of file CSCMotherboard.cc.

CSCMotherboard::~CSCMotherboard ( )

Default destructor.

Definition at line 198 of file CSCMotherboard.cc.

Member Function Documentation

void CSCMotherboard::checkConfigParameters ( )
protected

Make sure that the parameter values are within the allowed range.

Definition at line 234 of file CSCMotherboard.cc.

void CSCMotherboard::clear ( void  )

Clears correlated LCT and passes clear signal on to cathode and anode LCT processors.

Definition at line 201 of file CSCMotherboard.cc.

CSCCorrelatedLCTDigi CSCMotherboard::constructLCTs ( const CSCALCTDigi aLCT,
const CSCCLCTDigi cLCT 
)
protected

Definition at line 599 of file CSCMotherboard.cc.

void CSCMotherboard::correlateLCTs ( CSCALCTDigi  bestALCT,
CSCALCTDigi  secondALCT,
CSCCLCTDigi  bestCLCT,
CSCCLCTDigi  secondCLCT 
)
protected

Definition at line 544 of file CSCMotherboard.cc.

void CSCMotherboard::dumpConfigParams ( ) const
protected

Dump TMB/MPC configuration parameters.

Definition at line 819 of file CSCMotherboard.cc.

unsigned int CSCMotherboard::encodePattern ( const int  ptn,
const int  highPt 
)
protected

Definition at line 620 of file CSCMotherboard.cc.

unsigned int CSCMotherboard::findQuality ( const CSCALCTDigi aLCT,
const CSCCLCTDigi cLCT 
)
protected

Definition at line 646 of file CSCMotherboard.cc.

std::vector< CSCCorrelatedLCTDigi > CSCMotherboard::getLCTs ( )

Returns vector of all found correlated LCTs, if any.

Definition at line 525 of file CSCMotherboard.cc.

std::vector< CSCCorrelatedLCTDigi > CSCMotherboard::readoutLCTs ( )

Returns vector of correlated LCTs in the read-out time window, if any.

Definition at line 449 of file CSCMotherboard.cc.

void CSCMotherboard::run ( const std::vector< int >  w_time[CSCConstants::NUM_LAYERS][CSCConstants::MAX_NUM_WIRES],
const std::vector< int >  hs_times[CSCConstants::NUM_LAYERS][CSCConstants::NUM_HALF_STRIPS_7CFEBS],
const std::vector< int >  ds_times[CSCConstants::NUM_LAYERS][CSCConstants::NUM_HALF_STRIPS_7CFEBS] 
)

Test version of run function.

Definition at line 296 of file CSCMotherboard.cc.

void CSCMotherboard::run ( const CSCWireDigiCollection wiredc,
const CSCComparatorDigiCollection compdc 
)

Run function for normal usage. Runs cathode and anode LCT processors, takes results and correlates into CorrelatedLCT.

Definition at line 347 of file CSCMotherboard.cc.

void CSCMotherboard::setConfigParameters ( const CSCDBL1TPParameters conf)

Set configuration parameters obtained via EventSetup mechanism.

Definition at line 211 of file CSCMotherboard.cc.

bool CSCMotherboard::sortByGEMDphi ( const CSCCorrelatedLCTDigi lct1,
const CSCCorrelatedLCTDigi lct2 
)
staticprotected

Definition at line 849 of file CSCMotherboard.cc.

bool CSCMotherboard::sortByQuality ( const CSCCorrelatedLCTDigi lct1,
const CSCCorrelatedLCTDigi lct2 
)
staticprotected

Definition at line 843 of file CSCMotherboard.cc.

void CSCMotherboard::testLCT ( )
protected

Definition at line 761 of file CSCMotherboard.cc.

Member Data Documentation

std::unique_ptr<CSCAnodeLCTProcessor> CSCMotherboard::alct

Anode LCT processor.

Definition at line 78 of file CSCMotherboard.h.

unsigned int CSCMotherboard::alct_trig_enable
protected

Definition at line 109 of file CSCMotherboard.h.

std::unique_ptr<CSCCathodeLCTProcessor> CSCMotherboard::clct

Cathode LCT processor.

Definition at line 81 of file CSCMotherboard.h.

unsigned int CSCMotherboard::clct_trig_enable
protected

Definition at line 109 of file CSCMotherboard.h.

const unsigned int CSCMotherboard::def_alct_trig_enable = 0
staticprotected

Definition at line 126 of file CSCMotherboard.h.

const unsigned int CSCMotherboard::def_clct_trig_enable = 0
staticprotected

Definition at line 126 of file CSCMotherboard.h.

const unsigned int CSCMotherboard::def_match_trig_enable = 1
staticprotected

Definition at line 127 of file CSCMotherboard.h.

const unsigned int CSCMotherboard::def_match_trig_window_size = 7
staticprotected

Definition at line 127 of file CSCMotherboard.h.

const unsigned int CSCMotherboard::def_mpc_block_me1a = 1
staticprotected

Default values of configuration parameters.

Definition at line 125 of file CSCMotherboard.h.

const unsigned int CSCMotherboard::def_tmb_l1a_window_size = 7
staticprotected

Definition at line 128 of file CSCMotherboard.h.

bool CSCMotherboard::drop_used_alcts
protected

SLHC: whether to not reuse ALCTs that were used by previous matching CLCTs

Definition at line 116 of file CSCMotherboard.h.

int CSCMotherboard::early_tbins
protected

SLHC: separate handle for early time bins

Definition at line 119 of file CSCMotherboard.h.

CSCCorrelatedLCTDigi CSCMotherboard::firstLCT[MAX_LCT_BINS]
protected

Container for first correlated LCT.

Definition at line 134 of file CSCMotherboard.h.

int CSCMotherboard::infoV
protected

Verbosity level: 0: no print (default). 1: print LCTs found.

Definition at line 88 of file CSCMotherboard.h.

bool CSCMotherboard::isMTCC
protected

Flag for MTCC data.

Definition at line 99 of file CSCMotherboard.h.

bool CSCMotherboard::isSLHC
protected

Flag for SLHC studies.

Definition at line 105 of file CSCMotherboard.h.

bool CSCMotherboard::isTMB07
protected

Flag for new (2007) version of TMB firmware.

Definition at line 102 of file CSCMotherboard.h.

int CSCMotherboard::lct_central_bx
protected

Central BX

Definition at line 113 of file CSCMotherboard.h.

unsigned int CSCMotherboard::match_trig_enable
protected

Definition at line 109 of file CSCMotherboard.h.

unsigned int CSCMotherboard::match_trig_window_size
protected

Definition at line 110 of file CSCMotherboard.h.

unsigned int CSCMotherboard::mpc_block_me1a
protected

Configuration parameters.

Definition at line 108 of file CSCMotherboard.h.

bool CSCMotherboard::readout_earliest_2
protected

SLHC: whether to readout only the earliest two LCTs in readout window

Definition at line 122 of file CSCMotherboard.h.

CSCCorrelatedLCTDigi CSCMotherboard::secondLCT[MAX_LCT_BINS]
protected

Container for second correlated LCT.

Definition at line 137 of file CSCMotherboard.h.

const unsigned CSCMotherboard::theEndcap
protected

Chamber id (trigger-type labels).

Definition at line 91 of file CSCMotherboard.h.

unsigned CSCMotherboard::theRing
protected

Definition at line 96 of file CSCMotherboard.h.

const unsigned CSCMotherboard::theSector
protected

Definition at line 93 of file CSCMotherboard.h.

const unsigned CSCMotherboard::theStation
protected

Definition at line 92 of file CSCMotherboard.h.

const unsigned CSCMotherboard::theSubsector
protected

Definition at line 94 of file CSCMotherboard.h.

const unsigned CSCMotherboard::theTrigChamber
protected

Definition at line 95 of file CSCMotherboard.h.

unsigned int CSCMotherboard::tmb_l1a_window_size
protected

Definition at line 110 of file CSCMotherboard.h.