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
bool CSCHaloHLTAccept() const
Definition: CSCHaloData.h:41
bool GetSegmentIsEBCaloMatched() const
Definition: CSCHaloData.h:59
short int NTracksSmalldT() const
Definition: CSCHaloData.h:50
bool GetSegmentIsHCaloMatched() const
Definition: CSCHaloData.h:58
short int NOutOfTimeTriggers(HaloData::Endcap z=HaloData::both) const
Definition: CSCHaloData.h:45
int NumberOfHaloTriggers(HaloData::Endcap z=HaloData::both) const
Definition: CSCHaloData.cc:44
void SetNFlatHaloSegments_TrkMuUnVeto(short int nSegments)
Definition: CSCHaloData.h:110
short int nTracks_Small_dT
Definition: CSCHaloData.h:141
int NumberOfHaloTracks(HaloData::Endcap z=HaloData::both) const
Definition: CSCHaloData.cc:71
short int NumberOfOutTimeHits() const
Definition: CSCHaloData.h:47
void SetSegmentIsEECaloMatched(bool b)
Definition: CSCHaloData.h:118
void SetSegmentsBothEndcaps_Loose_TrkMuUnVeto(bool b)
Definition: CSCHaloData.h:111
const edm::RefVector< reco::TrackCollection > & GetTracks() const
Definition: CSCHaloData.h:70
short int nTracks_Small_beta
Definition: CSCHaloData.h:143
short int NFlatHaloSegments_TrkMuUnVeto() const
Definition: CSCHaloData.h:62
bool segmentisHcalomatched
Definition: CSCHaloData.h:157
int NumberOfHaloTriggers_TrkMuUnVeto(HaloData::Endcap z=HaloData::both) const
Definition: CSCHaloData.cc:53
short int NTracksSmallBeta() const
Definition: CSCHaloData.h:51
short int nOutOfTimeHits
Definition: CSCHaloData.h:139
bool GetSegmentIsEECaloMatched() const
Definition: CSCHaloData.h:60
short int NOutOfTimeHits() const
Definition: CSCHaloData.h:48
bool GetSegmentIsCaloMatched() const
Definition: CSCHaloData.h:57
int NHaloTracks(HaloData::Endcap z=HaloData::both) const
Definition: CSCHaloData.h:38
bool GetSegmentsInBothEndcaps() const
Definition: CSCHaloData.h:56
void SetSegmentIsCaloMatched(bool b)
Definition: CSCHaloData.h:115
short int NumberOfOutOfTimeTriggers(HaloData::Endcap z=HaloData::both) const
Definition: CSCHaloData.cc:62
short int NTracksSmallBetaAndSmalldT() const
Definition: CSCHaloData.h:52
void SetSegmentsBothEndcaps(bool b)
Definition: CSCHaloData.h:108
std::vector< GlobalPoint > TheGlobalPositions
Definition: CSCHaloData.h:124
void SetHLTBit(bool status)
Definition: CSCHaloData.h:96
edm::RefVector< reco::TrackCollection > TheTrackRefs
Definition: CSCHaloData.h:121
void SetNFlatHaloSegments(short int nSegments)
Definition: CSCHaloData.h:107
virtual ~CSCHaloData()
Definition: CSCHaloData.h:29
bool GetSegmentsInBothEndcaps_Loose_TrkMuUnVeto() const
Definition: CSCHaloData.h:63
void SetNIncomingTracks(short int n_small_dT, short int n_small_beta, short int n_small_both)
Definition: CSCHaloData.h:89
void SetNumberOfHaloTriggers(int PlusZ, int MinusZ)
Definition: CSCHaloData.h:73
std::vector< GlobalPoint > & GetCSCTrackImpactPositions()
Definition: CSCHaloData.h:101
double b
Definition: hdecay.h:118
bool GetSegmentsInBothEndcaps_Loose_dTcut_TrkMuUnVeto() const
Definition: CSCHaloData.h:64
void SetSegmentIsHCaloMatched(bool b)
Definition: CSCHaloData.h:116
bool segments_in_both_endcaps
Definition: CSCHaloData.h:151
bool segments_in_both_endcaps_loose_dtcut_TrkMuUnVeto
Definition: CSCHaloData.h:155
fixed size matrix
bool segments_in_both_endcaps_loose_TrkMuUnVeto
Definition: CSCHaloData.h:154
short int nOutOfTimeTriggers_MinusZ
Definition: CSCHaloData.h:137
void SetSegmentsBothEndcaps_Loose_dTcut_TrkMuUnVeto(bool b)
Definition: CSCHaloData.h:112
bool segmentisEEcalomatched
Definition: CSCHaloData.h:159
short int NFlatHaloSegments() const
Definition: CSCHaloData.h:55
int nTriggers_MinusZ_TrkMuUnVeto
Definition: CSCHaloData.h:128
void SetNOutOfTimeHits(short int num)
Definition: CSCHaloData.h:87
bool segmentisEBcalomatched
Definition: CSCHaloData.h:158
short int nFlatHaloSegments_TrkMuUnVeto
Definition: CSCHaloData.h:153
void SetNumberOfHaloTriggers_TrkMuUnVeto(int PlusZ, int MinusZ)
Definition: CSCHaloData.h:77
const std::vector< GlobalPoint > & GetCSCTrackImpactPositions() const
Definition: CSCHaloData.h:100
void SetNOutOfTimeTriggers(short int PlusZ, short int MinusZ)
Definition: CSCHaloData.h:82
void SetSegmentIsEBCaloMatched(bool b)
Definition: CSCHaloData.h:117
short int nOutOfTimeTriggers_PlusZ
Definition: CSCHaloData.h:136
int nTriggers_PlusZ_TrkMuUnVeto
Definition: CSCHaloData.h:127
int NHaloTriggers(HaloData::Endcap z=HaloData::both) const
Definition: CSCHaloData.h:34
short int nTracks_Small_dT_Small_beta
Definition: CSCHaloData.h:146
edm::RefVector< reco::TrackCollection > & GetTracks()
Definition: CSCHaloData.h:69
short int nFlatHaloSegments
Definition: CSCHaloData.h:150