CMS 3D CMS Logo

CSCHaloData.h
Go to the documentation of this file.
1 #ifndef DATAFORMATS_METRECO_CSCHALODATA_H
2 #define DATAFORMATS_METRECO_CSCHALODATA_H
3 #include "TMath.h"
4 #include <vector>
5 
9 
11 
13 #include <vector>
14 
15 /*
16  [class]: CSCHaloData
17  [authors]: R. Remington, The University of Florida
18  [description]: Container class to store beam halo data specific to the CSC subdetector
19  [date]: October 15, 2009
20 */
21 
22 namespace reco {
23 
24  class CSCHaloData {
25  public:
26  // Default constructor
27  CSCHaloData();
28 
29  virtual ~CSCHaloData() {}
30 
31  // Number of HaloTriggers in +/- endcap
35 
36  // Number of Halo Tracks in +/- endcap
39 
40  // Halo trigger bit from the HLT
41  bool CSCHaloHLTAccept() const { return HLTAccept; }
42 
43  // Number of chamber-level triggers with non-collision timing
46  // Number of CSCRecHits with non-collision timing
47  short int NumberOfOutTimeHits() const { return nOutOfTimeHits; }
48  short int NOutOfTimeHits() const { return nOutOfTimeHits; }
49  // Look at number of muons with timing consistent with incoming particles
50  short int NTracksSmalldT() const { return nTracks_Small_dT; }
51  short int NTracksSmallBeta() const { return nTracks_Small_beta; }
53 
54  // MLR
55  short int NFlatHaloSegments() const { return nFlatHaloSegments; }
61  // End MLR
66  }
67 
68  // Get Reference to the Tracks
71 
72  // Set Number of Halo Triggers
73  void SetNumberOfHaloTriggers(int PlusZ, int MinusZ) {
74  nTriggers_PlusZ = PlusZ;
75  nTriggers_MinusZ = MinusZ;
76  }
77  void SetNumberOfHaloTriggers_TrkMuUnVeto(int PlusZ, int MinusZ) {
80  }
81  // Set number of chamber-level triggers with non-collision timing
82  void SetNOutOfTimeTriggers(short int PlusZ, short int MinusZ) {
85  }
86  // Set number of CSCRecHits with non-collision timing
87  void SetNOutOfTimeHits(short int num) { nOutOfTimeHits = num; }
88  // Set number of tracks with timing consistent with incoming particles
89  void SetNIncomingTracks(short int n_small_dT, short int n_small_beta, short int n_small_both) {
90  nTracks_Small_dT = n_small_dT;
91  nTracks_Small_beta = n_small_beta;
92  nTracks_Small_dT_Small_beta = n_small_both;
93  }
94 
95  // Set HLT Bit
96  void SetHLTBit(bool status) { HLTAccept = status; }
97 
98  // Get GlobalPoints of CSC tracking rechits nearest to the calorimeters
99  //std::vector<const GlobalPoint>& GetCSCTrackImpactPositions() const {return TheGlobalPositions;}
100  const std::vector<GlobalPoint>& GetCSCTrackImpactPositions() const { return TheGlobalPositions; }
101  std::vector<GlobalPoint>& GetCSCTrackImpactPositions() { return TheGlobalPositions; }
102 
103  // MLR
104  // Set # of CSCSegments that appear to be part of a halo muon
105  // If there is more than 1 muon, this is the number of segments in the halo muon
106  // with the largest number of segments that pass the cut.
107  void SetNFlatHaloSegments(short int nSegments) { nFlatHaloSegments = nSegments; }
109  // End MLR
110  void SetNFlatHaloSegments_TrkMuUnVeto(short int nSegments) { nFlatHaloSegments_TrkMuUnVeto = nSegments; }
114  }
119 
120  private:
122 
123  // The GlobalPoints from constituent rechits nearest to the calorimeter of CSC tracks
124  std::vector<GlobalPoint> TheGlobalPositions;
129  // CSC halo trigger reported by the HLT
130  bool HLTAccept;
131 
134 
135  // number of out-of-time chamber-level triggers (assumes the event triggered at the bx of the beam crossing)
138  // number of out-of-time CSCRecHit2Ds (assumes the event triggered at the bx of the beam crossing)
139  short int nOutOfTimeHits;
140  // number of cosmic muon outer (CSC) tracks with (T_segment_outer - T_segment_inner) < max_dt_muon_segment
141  short int nTracks_Small_dT;
142  // number of cosmic muon outer (CSC) tracks with free inverse beta < max_free_inverse_beta
144  // number of cosmic muon outer (CSC) tracks with both
145  // (T_segment_outer - T_segment_inner) < max_dt_muon_segment and free inverse beta < max_free_inverse_beta
147 
148  // MLR
149  // number of CSCSegments that are flat and have the same (r,phi)
150  short int nFlatHaloSegments;
152  // end MLR
160  };
161 
162 } // namespace reco
163 
164 #endif
reco::CSCHaloData::SetSegmentIsHCaloMatched
void SetSegmentIsHCaloMatched(bool b)
Definition: CSCHaloData.h:116
reco::CSCHaloData::NHaloTriggers
int NHaloTriggers(HaloData::Endcap z=HaloData::both) const
Definition: CSCHaloData.h:34
reco::CSCHaloData::NumberOfHaloTracks
int NumberOfHaloTracks(HaloData::Endcap z=HaloData::both) const
Definition: CSCHaloData.cc:58
reco::CSCHaloData::SetSegmentsBothEndcaps_Loose_TrkMuUnVeto
void SetSegmentsBothEndcaps_Loose_TrkMuUnVeto(bool b)
Definition: CSCHaloData.h:111
reco::CSCHaloData::nOutOfTimeTriggers_PlusZ
short int nOutOfTimeTriggers_PlusZ
Definition: CSCHaloData.h:136
reco::CSCHaloData::GetTracks
const edm::RefVector< reco::TrackCollection > & GetTracks() const
Definition: CSCHaloData.h:70
reco::CSCHaloData::nOutOfTimeTriggers_MinusZ
short int nOutOfTimeTriggers_MinusZ
Definition: CSCHaloData.h:137
reco::CSCHaloData::nFlatHaloSegments
short int nFlatHaloSegments
Definition: CSCHaloData.h:150
reco::CSCHaloData::nTracks_PlusZ
int nTracks_PlusZ
Definition: CSCHaloData.h:132
reco::HaloData::Endcap
Endcap
Definition: HaloData.h:14
reco::CSCHaloData::segments_in_both_endcaps_loose_dtcut_TrkMuUnVeto
bool segments_in_both_endcaps_loose_dtcut_TrkMuUnVeto
Definition: CSCHaloData.h:155
reco::CSCHaloData::SetHLTBit
void SetHLTBit(bool status)
Definition: CSCHaloData.h:96
mps_update.status
status
Definition: mps_update.py:69
reco::CSCHaloData::SetSegmentIsEECaloMatched
void SetSegmentIsEECaloMatched(bool b)
Definition: CSCHaloData.h:118
reco::CSCHaloData::NTracksSmalldT
short int NTracksSmalldT() const
Definition: CSCHaloData.h:50
reco::CSCHaloData::GetSegmentIsEBCaloMatched
bool GetSegmentIsEBCaloMatched() const
Definition: CSCHaloData.h:59
reco::CSCHaloData::GetSegmentsInBothEndcaps
bool GetSegmentsInBothEndcaps() const
Definition: CSCHaloData.h:56
reco::CSCHaloData::NTracksSmallBetaAndSmalldT
short int NTracksSmallBetaAndSmalldT() const
Definition: CSCHaloData.h:52
reco::CSCHaloData::nTriggers_MinusZ_TrkMuUnVeto
int nTriggers_MinusZ_TrkMuUnVeto
Definition: CSCHaloData.h:128
reco::CSCHaloData::SetNIncomingTracks
void SetNIncomingTracks(short int n_small_dT, short int n_small_beta, short int n_small_both)
Definition: CSCHaloData.h:89
reco::HaloData::both
Definition: HaloData.h:14
reco::CSCHaloData::NOutOfTimeHits
short int NOutOfTimeHits() const
Definition: CSCHaloData.h:48
reco::CSCHaloData::nTriggers_PlusZ_TrkMuUnVeto
int nTriggers_PlusZ_TrkMuUnVeto
Definition: CSCHaloData.h:127
reco::CSCHaloData::SetNumberOfHaloTriggers_TrkMuUnVeto
void SetNumberOfHaloTriggers_TrkMuUnVeto(int PlusZ, int MinusZ)
Definition: CSCHaloData.h:77
edm::RefVector< reco::TrackCollection >
reco
fixed size matrix
Definition: AlignmentAlgorithmBase.h:45
reco::CSCHaloData::NTracksSmallBeta
short int NTracksSmallBeta() const
Definition: CSCHaloData.h:51
reco::CSCHaloData::SetNFlatHaloSegments_TrkMuUnVeto
void SetNFlatHaloSegments_TrkMuUnVeto(short int nSegments)
Definition: CSCHaloData.h:110
reco::CSCHaloData::nTracks_Small_beta
short int nTracks_Small_beta
Definition: CSCHaloData.h:143
reco::CSCHaloData::CSCHaloData
CSCHaloData()
Definition: CSCHaloData.cc:11
reco::CSCHaloData::segments_in_both_endcaps_loose_TrkMuUnVeto
bool segments_in_both_endcaps_loose_TrkMuUnVeto
Definition: CSCHaloData.h:154
reco::CSCHaloData::segmentisHcalomatched
bool segmentisHcalomatched
Definition: CSCHaloData.h:157
reco::CSCHaloData::NFlatHaloSegments_TrkMuUnVeto
short int NFlatHaloSegments_TrkMuUnVeto() const
Definition: CSCHaloData.h:62
reco::CSCHaloData::nFlatHaloSegments_TrkMuUnVeto
short int nFlatHaloSegments_TrkMuUnVeto
Definition: CSCHaloData.h:153
Track.h
TrackFwd.h
reco::CSCHaloData::CSCHaloHLTAccept
bool CSCHaloHLTAccept() const
Definition: CSCHaloData.h:41
reco::CSCHaloData::nTracks_Small_dT
short int nTracks_Small_dT
Definition: CSCHaloData.h:141
reco::CSCHaloData::GetSegmentIsHCaloMatched
bool GetSegmentIsHCaloMatched() const
Definition: CSCHaloData.h:58
reco::CSCHaloData::GetSegmentIsCaloMatched
bool GetSegmentIsCaloMatched() const
Definition: CSCHaloData.h:57
reco::CSCHaloData::TheGlobalPositions
std::vector< GlobalPoint > TheGlobalPositions
Definition: CSCHaloData.h:124
reco::CSCHaloData::NOutOfTimeTriggers
short int NOutOfTimeTriggers(HaloData::Endcap z=HaloData::both) const
Definition: CSCHaloData.h:45
reco::CSCHaloData::SetSegmentsBothEndcaps
void SetSegmentsBothEndcaps(bool b)
Definition: CSCHaloData.h:108
b
double b
Definition: hdecay.h:118
reco::CSCHaloData::nTracks_Small_dT_Small_beta
short int nTracks_Small_dT_Small_beta
Definition: CSCHaloData.h:146
reco::CSCHaloData::NumberOfOutOfTimeTriggers
short int NumberOfOutOfTimeTriggers(HaloData::Endcap z=HaloData::both) const
Definition: CSCHaloData.cc:49
reco::CSCHaloData::NHaloTracks
int NHaloTracks(HaloData::Endcap z=HaloData::both) const
Definition: CSCHaloData.h:38
RefVector.h
reco::CSCHaloData::~CSCHaloData
virtual ~CSCHaloData()
Definition: CSCHaloData.h:29
reco::CSCHaloData::SetNOutOfTimeTriggers
void SetNOutOfTimeTriggers(short int PlusZ, short int MinusZ)
Definition: CSCHaloData.h:82
reco::CSCHaloData::SetNumberOfHaloTriggers
void SetNumberOfHaloTriggers(int PlusZ, int MinusZ)
Definition: CSCHaloData.h:73
reco::CSCHaloData::GetCSCTrackImpactPositions
std::vector< GlobalPoint > & GetCSCTrackImpactPositions()
Definition: CSCHaloData.h:101
reco::CSCHaloData::GetTracks
edm::RefVector< reco::TrackCollection > & GetTracks()
Definition: CSCHaloData.h:69
EgammaValidation_cff.num
num
Definition: EgammaValidation_cff.py:34
reco::CSCHaloData::segments_in_both_endcaps
bool segments_in_both_endcaps
Definition: CSCHaloData.h:151
reco::CSCHaloData::SetNOutOfTimeHits
void SetNOutOfTimeHits(short int num)
Definition: CSCHaloData.h:87
HaloData.h
reco::CSCHaloData::SetSegmentsBothEndcaps_Loose_dTcut_TrkMuUnVeto
void SetSegmentsBothEndcaps_Loose_dTcut_TrkMuUnVeto(bool b)
Definition: CSCHaloData.h:112
reco::CSCHaloData::nTriggers_PlusZ
int nTriggers_PlusZ
Definition: CSCHaloData.h:125
reco::CSCHaloData::SetSegmentIsEBCaloMatched
void SetSegmentIsEBCaloMatched(bool b)
Definition: CSCHaloData.h:117
reco::CSCHaloData::segmentisEEcalomatched
bool segmentisEEcalomatched
Definition: CSCHaloData.h:159
reco::CSCHaloData::segmentiscalomatched
bool segmentiscalomatched
Definition: CSCHaloData.h:156
reco::CSCHaloData::GetSegmentIsEECaloMatched
bool GetSegmentIsEECaloMatched() const
Definition: CSCHaloData.h:60
reco::CSCHaloData::segmentisEBcalomatched
bool segmentisEBcalomatched
Definition: CSCHaloData.h:158
reco::CSCHaloData::nTracks_MinusZ
int nTracks_MinusZ
Definition: CSCHaloData.h:133
reco::CSCHaloData::GetCSCTrackImpactPositions
const std::vector< GlobalPoint > & GetCSCTrackImpactPositions() const
Definition: CSCHaloData.h:100
reco::CSCHaloData::nTriggers_MinusZ
int nTriggers_MinusZ
Definition: CSCHaloData.h:126
reco::CSCHaloData::HLTAccept
bool HLTAccept
Definition: CSCHaloData.h:130
reco::CSCHaloData::NumberOfOutTimeHits
short int NumberOfOutTimeHits() const
Definition: CSCHaloData.h:47
reco::CSCHaloData
Definition: CSCHaloData.h:24
reco::CSCHaloData::GetSegmentsInBothEndcaps_Loose_dTcut_TrkMuUnVeto
bool GetSegmentsInBothEndcaps_Loose_dTcut_TrkMuUnVeto() const
Definition: CSCHaloData.h:64
reco::CSCHaloData::SetNFlatHaloSegments
void SetNFlatHaloSegments(short int nSegments)
Definition: CSCHaloData.h:107
GlobalPoint.h
reco::CSCHaloData::GetSegmentsInBothEndcaps_Loose_TrkMuUnVeto
bool GetSegmentsInBothEndcaps_Loose_TrkMuUnVeto() const
Definition: CSCHaloData.h:63
reco::CSCHaloData::SetSegmentIsCaloMatched
void SetSegmentIsCaloMatched(bool b)
Definition: CSCHaloData.h:115
reco::CSCHaloData::NFlatHaloSegments
short int NFlatHaloSegments() const
Definition: CSCHaloData.h:55
reco::CSCHaloData::NumberOfHaloTriggers_TrkMuUnVeto
int NumberOfHaloTriggers_TrkMuUnVeto(HaloData::Endcap z=HaloData::both) const
Definition: CSCHaloData.cc:40
reco::CSCHaloData::TheTrackRefs
edm::RefVector< reco::TrackCollection > TheTrackRefs
Definition: CSCHaloData.h:121
reco::CSCHaloData::nOutOfTimeHits
short int nOutOfTimeHits
Definition: CSCHaloData.h:139
reco::CSCHaloData::NumberOfHaloTriggers
int NumberOfHaloTriggers(HaloData::Endcap z=HaloData::both) const
Definition: CSCHaloData.cc:31