CMS 3D CMS Logo

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

#include <CSCStripHit.h>

Public Types

typedef std::vector< int > ChannelContainer
 
typedef std::vector< float > StripHitADCContainer
 

Public Member Functions

CSCStripHitclone () const
 Required for storage in RangeMap. More...
 
int closestMaximum () const
 Number of strips to the closest other maximum. More...
 
CSCDetId cscDetId () const
 Strip Hit is in this DetId. More...
 
 CSCStripHit ()
 
 CSCStripHit (const CSCDetId &id, const float &sHitPos, const int &tmax, const ChannelContainer &strips, const StripHitADCContainer &s_adc, const StripHitADCContainer &s_adcRaw, const int &numberOfConsecutiveStrips, const int &closestMaximum, const short int &deadStrip)
 
short int deadStrip () const
 is a neighbouring string a dead strip? More...
 
int numberOfConsecutiveStrips () const
 Number of consecutive strips with charge. More...
 
void print () const
 Print content of the striphit including L1A. More...
 
const StripHitADCContainers_adc () const
 L1A. More...
 
const StripHitADCContainers_adcRaw () const
 the raw ADC counts for each of the strip within cluster More...
 
float sHitPos () const
 Strip hit position (centroid) More...
 
const ChannelContainerstrips () const
 L1A. More...
 
const ChannelContainerstripsl1a () const
 L1A. More...
 
const ChannelContainerstripsTotal () const
 The strips used in cluster to produce strip hit (total content) More...
 
int tmax () const
 Strip hit maximum time bin. More...
 
 ~CSCStripHit ()
 

Private Attributes

int theClosestMaximum
 
int theConsecutiveStrips
 
short int theDeadStrip
 
CSCDetId theDetId
 
StripHitADCContainer theStripHitADCs
 L1A. More...
 
float theStripHitPosition
 
StripHitADCContainer theStripHitRawADCs
 
int theStripHitTmax
 
ChannelContainer theStrips
 
ChannelContainer theStripsHighBits
 L1A. More...
 
ChannelContainer theStripsLowBits
 

Detailed Description

A (1-dim) hit reconstructed from strip data alone

Definition at line 16 of file CSCStripHit.h.

Member Typedef Documentation

typedef std::vector<int> CSCStripHit::ChannelContainer

Definition at line 22 of file CSCStripHit.h.

typedef std::vector<float> CSCStripHit::StripHitADCContainer

Definition at line 21 of file CSCStripHit.h.

Constructor & Destructor Documentation

CSCStripHit::CSCStripHit ( )
inline

Definition at line 24 of file CSCStripHit.h.

Referenced by clone().

24 {}
CSCStripHit::CSCStripHit ( const CSCDetId id,
const float &  sHitPos,
const int &  tmax,
const ChannelContainer strips,
const StripHitADCContainer s_adc,
const StripHitADCContainer s_adcRaw,
const int &  numberOfConsecutiveStrips,
const int &  closestMaximum,
const short int &  deadStrip 
)

Extract the 2 lowest bytes for strip number

Extract the 2 highest bytes for L1A phase

Definition at line 6 of file CSCStripHit.cc.

References i, theStrips, theStripsHighBits, and theStripsLowBits.

14  :
15  theDetId( id ),
18  theStrips( strips ),
24 {
25 
27 theStripsLowBits.clear();
28 for(int i=0; i<(int)theStrips.size(); i++){
29  theStripsLowBits.push_back(theStrips[i] & 0x000000FF);
30  }
32 theStripsHighBits.clear();
33 for(int i=0; i<(int)theStrips.size(); i++){
34  theStripsHighBits.push_back(theStrips[i] & 0x0000FF00);
35  }
36 
37 }
int i
Definition: DBlmapReader.cc:9
StripHitADCContainer theStripHitRawADCs
Definition: CSCStripHit.h:85
const StripHitADCContainer & s_adcRaw() const
the raw ADC counts for each of the strip within cluster
Definition: CSCStripHit.h:62
ChannelContainer theStripsLowBits
Definition: CSCStripHit.h:82
int theConsecutiveStrips
Definition: CSCStripHit.h:86
int numberOfConsecutiveStrips() const
Number of consecutive strips with charge.
Definition: CSCStripHit.h:65
const StripHitADCContainer & s_adc() const
L1A.
Definition: CSCStripHit.h:59
ChannelContainer theStrips
Definition: CSCStripHit.h:81
CSCDetId theDetId
Definition: CSCStripHit.h:78
short int deadStrip() const
is a neighbouring string a dead strip?
Definition: CSCStripHit.h:71
ChannelContainer theStripsHighBits
L1A.
Definition: CSCStripHit.h:83
int tmax() const
Strip hit maximum time bin.
Definition: CSCStripHit.h:47
short int theDeadStrip
Definition: CSCStripHit.h:88
int closestMaximum() const
Number of strips to the closest other maximum.
Definition: CSCStripHit.h:68
const ChannelContainer & strips() const
L1A.
Definition: CSCStripHit.h:53
float theStripHitPosition
Definition: CSCStripHit.h:79
StripHitADCContainer theStripHitADCs
L1A.
Definition: CSCStripHit.h:84
int theStripHitTmax
Definition: CSCStripHit.h:80
int theClosestMaximum
Definition: CSCStripHit.h:87
float sHitPos() const
Strip hit position (centroid)
Definition: CSCStripHit.h:44
CSCStripHit::~CSCStripHit ( )
inline

Definition at line 35 of file CSCStripHit.h.

35 {}

Member Function Documentation

CSCStripHit* CSCStripHit::clone ( void  ) const
inline

Required for storage in RangeMap.

Definition at line 38 of file CSCStripHit.h.

References CSCStripHit().

38 { return new CSCStripHit( *this ); }
int CSCStripHit::closestMaximum ( ) const
inline

Number of strips to the closest other maximum.

Definition at line 68 of file CSCStripHit.h.

References theClosestMaximum.

Referenced by CSCXonStrip_MatchGatti::findXOnStrip().

68 { return theClosestMaximum; }
int theClosestMaximum
Definition: CSCStripHit.h:87
CSCDetId CSCStripHit::cscDetId ( ) const
inline

Strip Hit is in this DetId.

Definition at line 41 of file CSCStripHit.h.

References theDetId.

Referenced by print().

41 { return theDetId; }
CSCDetId theDetId
Definition: CSCStripHit.h:78
short int CSCStripHit::deadStrip ( ) const
inline

is a neighbouring string a dead strip?

Definition at line 71 of file CSCStripHit.h.

References theDeadStrip.

Referenced by CSCXonStrip_MatchGatti::findXOnStrip(), and CSCMake2DRecHit::hitFromStripAndWire().

71 {return theDeadStrip; };
short int theDeadStrip
Definition: CSCStripHit.h:88
int CSCStripHit::numberOfConsecutiveStrips ( ) const
inline

Number of consecutive strips with charge.

Definition at line 65 of file CSCStripHit.h.

References theConsecutiveStrips.

Referenced by CSCXonStrip_MatchGatti::findXOnStrip().

65 { return theConsecutiveStrips; }
int theConsecutiveStrips
Definition: CSCStripHit.h:86
void CSCStripHit::print ( void  ) const

Print content of the striphit including L1A.

Debug.

L1A

Definition at line 43 of file CSCStripHit.cc.

References gather_cfg::cout, cscDetId(), TauDecayModes::dec, i, roll_playback::k, s_adc(), s_adcRaw(), sHitPos(), strips(), stripsl1a(), and tmax().

43  {
44  std::cout << "CSCStripHit in CSC Detector: " << std::dec << cscDetId() << std::endl;
45  std::cout << " sHitPos: " << sHitPos() << std::endl;
46  std::cout << " TMAX: " << tmax() << std::endl;
47  std::cout << " STRIPS: ";
48  for (int i=0; i<(int)strips().size(); i++) {std::cout << std::dec << strips()[i]
49  << " (" << "HEX: " << std::hex << strips()[i] << ")" << " ";}
50  std::cout << std::endl;
51 
53  std::cout << " L1APhase: ";
54  for (int i=0; i<(int)stripsl1a().size(); i++) {
55  //uint16_t L1ABitSet=(strips()[i] & 0xFF00);
56  //std::cout << std::hex << (stripsl1a()[i] >> 15)<< " ";
57 
58  std::cout << "|";
59  for (int k=0; k<8 ; k++){
60  std::cout << ((stripsl1a()[i] >> (15-k)) & 0x1) << " ";}
61  std::cout << "| ";
62  }
63  std::cout << std::endl;
64 
65  std::cout << " S_ADC: ";
66  for (int i=0; i<(float)s_adc().size(); i++) {std::cout << s_adc()[i] << " ";}
67  std::cout << std::endl;
68  std::cout << " S_ADC_RAW: ";
69  for (int i=0; i<(float)s_adcRaw().size(); i++) {std::cout << s_adcRaw()[i] << " ";}
70  std::cout << std::endl;
71 }
int i
Definition: DBlmapReader.cc:9
const ChannelContainer & stripsl1a() const
L1A.
Definition: CSCStripHit.h:56
const StripHitADCContainer & s_adcRaw() const
the raw ADC counts for each of the strip within cluster
Definition: CSCStripHit.h:62
const StripHitADCContainer & s_adc() const
L1A.
Definition: CSCStripHit.h:59
int tmax() const
Strip hit maximum time bin.
Definition: CSCStripHit.h:47
CSCDetId cscDetId() const
Strip Hit is in this DetId.
Definition: CSCStripHit.h:41
const ChannelContainer & strips() const
L1A.
Definition: CSCStripHit.h:53
tuple cout
Definition: gather_cfg.py:121
float sHitPos() const
Strip hit position (centroid)
Definition: CSCStripHit.h:44
const StripHitADCContainer& CSCStripHit::s_adc ( ) const
inline

L1A.

the ADC counts for each of the strip within cluster

Definition at line 59 of file CSCStripHit.h.

References theStripHitADCs.

Referenced by CSCXonStrip_MatchGatti::findXOnStrip(), CSCMake2DRecHit::hitFromStripAndWire(), and print().

59 { return theStripHitADCs; }
StripHitADCContainer theStripHitADCs
L1A.
Definition: CSCStripHit.h:84
const StripHitADCContainer& CSCStripHit::s_adcRaw ( ) const
inline

the raw ADC counts for each of the strip within cluster

Definition at line 62 of file CSCStripHit.h.

References theStripHitRawADCs.

Referenced by CSCMake2DRecHit::hitFromStripAndWire(), and print().

62 { return theStripHitRawADCs; }
StripHitADCContainer theStripHitRawADCs
Definition: CSCStripHit.h:85
float CSCStripHit::sHitPos ( ) const
inline

Strip hit position (centroid)

Definition at line 44 of file CSCStripHit.h.

References theStripHitPosition.

Referenced by print().

44 { return theStripHitPosition; }
float theStripHitPosition
Definition: CSCStripHit.h:79
const ChannelContainer& CSCStripHit::strips ( ) const
inline

L1A.

The strips used in cluster to produce strip hit

Definition at line 53 of file CSCStripHit.h.

References theStripsLowBits.

Referenced by CSCXonStrip_MatchGatti::findXOnStrip(), CSCMake2DRecHit::hitFromStripAndWire(), and print().

53 {return theStripsLowBits;}
ChannelContainer theStripsLowBits
Definition: CSCStripHit.h:82
const ChannelContainer& CSCStripHit::stripsl1a ( ) const
inline

L1A.

The L1A phase in strips used to produce strip hit

Definition at line 56 of file CSCStripHit.h.

References theStripsHighBits.

Referenced by CSCMake2DRecHit::hitFromStripAndWire(), and print().

56 {return theStripsHighBits;}
ChannelContainer theStripsHighBits
L1A.
Definition: CSCStripHit.h:83
const ChannelContainer& CSCStripHit::stripsTotal ( ) const
inline

The strips used in cluster to produce strip hit (total content)

Definition at line 50 of file CSCStripHit.h.

References theStrips.

Referenced by CSCMake2DRecHit::hitFromStripAndWire().

50 {return theStrips;}
ChannelContainer theStrips
Definition: CSCStripHit.h:81
int CSCStripHit::tmax ( ) const
inline

Strip hit maximum time bin.

Definition at line 47 of file CSCStripHit.h.

References theStripHitTmax.

Referenced by CSCXonStrip_MatchGatti::findXOnStrip(), CSCMake2DRecHit::hitFromStripAndWire(), and print().

47 { return theStripHitTmax; }
int theStripHitTmax
Definition: CSCStripHit.h:80

Member Data Documentation

int CSCStripHit::theClosestMaximum
private

Definition at line 87 of file CSCStripHit.h.

Referenced by closestMaximum().

int CSCStripHit::theConsecutiveStrips
private

Definition at line 86 of file CSCStripHit.h.

Referenced by numberOfConsecutiveStrips().

short int CSCStripHit::theDeadStrip
private

Definition at line 88 of file CSCStripHit.h.

Referenced by deadStrip().

CSCDetId CSCStripHit::theDetId
private

Definition at line 78 of file CSCStripHit.h.

Referenced by cscDetId().

StripHitADCContainer CSCStripHit::theStripHitADCs
private

L1A.

Definition at line 84 of file CSCStripHit.h.

Referenced by s_adc().

float CSCStripHit::theStripHitPosition
private

Definition at line 79 of file CSCStripHit.h.

Referenced by sHitPos().

StripHitADCContainer CSCStripHit::theStripHitRawADCs
private

Definition at line 85 of file CSCStripHit.h.

Referenced by s_adcRaw().

int CSCStripHit::theStripHitTmax
private

Definition at line 80 of file CSCStripHit.h.

Referenced by tmax().

ChannelContainer CSCStripHit::theStrips
private

Definition at line 81 of file CSCStripHit.h.

Referenced by CSCStripHit(), and stripsTotal().

ChannelContainer CSCStripHit::theStripsHighBits
private

L1A.

Definition at line 83 of file CSCStripHit.h.

Referenced by CSCStripHit(), and stripsl1a().

ChannelContainer CSCStripHit::theStripsLowBits
private

Definition at line 82 of file CSCStripHit.h.

Referenced by CSCStripHit(), and strips().