CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 
26  public:
27  // Default constructor
28  CSCHaloData();
29 
30  virtual ~CSCHaloData(){}
31 
32  // Number of HaloTriggers in +/- endcap
36 
37  // Number of Halo Tracks in +/- endcap
40 
41  // Halo trigger bit from the HLT
42  bool CSCHaloHLTAccept() const {return HLTAccept;}
43 
44  // Number of chamber-level triggers with non-collision timing
47  // Number of CSCRecHits with non-collision timing
48  short int NumberOfOutTimeHits() const { return nOutOfTimeHits;}
49  short int NOutOfTimeHits() const {return nOutOfTimeHits;}
50  // Look at number of muons with timing consistent with incoming particles
51  short int NTracksSmalldT() const { return nTracks_Small_dT;}
52  short int NTracksSmallBeta() const{ return nTracks_Small_beta; }
54 
55  // MLR
56  short int NFlatHaloSegments() const{ return nFlatHaloSegments; }
62  // End MLR
66 
67 
68  // Get Reference to the Tracks
71 
72  // Set Number of Halo Triggers
73  void SetNumberOfHaloTriggers(int PlusZ, int MinusZ ){ nTriggers_PlusZ =PlusZ; nTriggers_MinusZ = MinusZ ;}
75  // Set number of chamber-level triggers with non-collision timing
76  void SetNOutOfTimeTriggers(short int PlusZ,short int MinusZ){ nOutOfTimeTriggers_PlusZ = PlusZ ; nOutOfTimeTriggers_MinusZ = MinusZ;}
77  // Set number of CSCRecHits with non-collision timing
78  void SetNOutOfTimeHits(short int num){ nOutOfTimeHits = num ;}
79  // Set number of tracks with timing consistent with incoming particles
80  void SetNIncomingTracks(short int n_small_dT, short int n_small_beta, short int n_small_both) { nTracks_Small_dT = n_small_dT;
81  nTracks_Small_beta = n_small_beta; nTracks_Small_dT_Small_beta = n_small_both;}
82 
83  // Set HLT Bit
84  void SetHLTBit(bool status) { HLTAccept = status ;}
85 
86  // Get GlobalPoints of CSC tracking rechits nearest to the calorimeters
87  //std::vector<const GlobalPoint>& GetCSCTrackImpactPositions() const {return TheGlobalPositions;}
88  const std::vector<GlobalPoint>& GetCSCTrackImpactPositions() const {return TheGlobalPositions;}
89  std::vector<GlobalPoint>& GetCSCTrackImpactPositions() {return TheGlobalPositions;}
90 
91  // MLR
92  // Set # of CSCSegments that appear to be part of a halo muon
93  // If there is more than 1 muon, this is the number of segments in the halo muon
94  // with the largest number of segments that pass the cut.
95  void SetNFlatHaloSegments(short int nSegments) {nFlatHaloSegments = nSegments;}
97  // End MLR
98  void SetNFlatHaloSegments_TrkMuUnVeto(short int nSegments) {nFlatHaloSegments_TrkMuUnVeto = nSegments;}
105 
106  private:
108 
109  // The GlobalPoints from constituent rechits nearest to the calorimeter of CSC tracks
110  std::vector<GlobalPoint> TheGlobalPositions;
115  // CSC halo trigger reported by the HLT
116  bool HLTAccept;
117 
120 
121  // number of out-of-time chamber-level triggers (assumes the event triggered at the bx of the beam crossing)
124  // number of out-of-time CSCRecHit2Ds (assumes the event triggered at the bx of the beam crossing)
125  short int nOutOfTimeHits;
126  // number of cosmic muon outer (CSC) tracks with (T_segment_outer - T_segment_inner) < max_dt_muon_segment
127  short int nTracks_Small_dT;
128  // number of cosmic muon outer (CSC) tracks with free inverse beta < max_free_inverse_beta
130  // number of cosmic muon outer (CSC) tracks with both
131  // (T_segment_outer - T_segment_inner) < max_dt_muon_segment and free inverse beta < max_free_inverse_beta
133 
134  // MLR
135  // number of CSCSegments that are flat and have the same (r,phi)
136  short int nFlatHaloSegments;
138  // end MLR
146 
147  };
148 
149 
150 
151 }
152 
153 
154 #endif
short int NOutOfTimeTriggers(HaloData::Endcap z=HaloData::both) const
Definition: CSCHaloData.h:46
int NumberOfHaloTracks(HaloData::Endcap z=HaloData::both) const
Definition: CSCHaloData.cc:65
void SetNFlatHaloSegments_TrkMuUnVeto(short int nSegments)
Definition: CSCHaloData.h:98
short int NFlatHaloSegments_TrkMuUnVeto() const
Definition: CSCHaloData.h:63
short int nTracks_Small_dT
Definition: CSCHaloData.h:127
void SetSegmentIsEECaloMatched(bool b)
Definition: CSCHaloData.h:104
bool CSCHaloHLTAccept() const
Definition: CSCHaloData.h:42
void SetSegmentsBothEndcaps_Loose_TrkMuUnVeto(bool b)
Definition: CSCHaloData.h:99
short int NTracksSmallBetaAndSmalldT() const
Definition: CSCHaloData.h:53
short int NumberOfOutOfTimeTriggers(HaloData::Endcap z=HaloData::both) const
Definition: CSCHaloData.cc:55
short int nTracks_Small_beta
Definition: CSCHaloData.h:129
bool segmentisHcalomatched
Definition: CSCHaloData.h:143
short int NFlatHaloSegments() const
Definition: CSCHaloData.h:56
short int nOutOfTimeHits
Definition: CSCHaloData.h:125
bool GetSegmentsInBothEndcaps() const
Definition: CSCHaloData.h:57
short int NTracksSmallBeta() const
Definition: CSCHaloData.h:52
int NumberOfHaloTriggers_TrkMuUnVeto(HaloData::Endcap z=HaloData::both) const
Definition: CSCHaloData.cc:44
short int NTracksSmalldT() const
Definition: CSCHaloData.h:51
void SetSegmentIsCaloMatched(bool b)
Definition: CSCHaloData.h:101
bool GetSegmentIsEBCaloMatched() const
Definition: CSCHaloData.h:60
bool GetSegmentIsCaloMatched() const
Definition: CSCHaloData.h:58
const std::vector< GlobalPoint > & GetCSCTrackImpactPositions() const
Definition: CSCHaloData.h:88
void SetSegmentsBothEndcaps(bool b)
Definition: CSCHaloData.h:96
bool GetSegmentsInBothEndcaps_Loose_dTcut_TrkMuUnVeto() const
Definition: CSCHaloData.h:65
const edm::RefVector< reco::TrackCollection > & GetTracks() const
Definition: CSCHaloData.h:70
short int NOutOfTimeHits() const
Definition: CSCHaloData.h:49
std::vector< GlobalPoint > TheGlobalPositions
Definition: CSCHaloData.h:110
int NumberOfHaloTriggers(HaloData::Endcap z=HaloData::both) const
Definition: CSCHaloData.cc:32
void SetHLTBit(bool status)
Definition: CSCHaloData.h:84
edm::RefVector< reco::TrackCollection > TheTrackRefs
Definition: CSCHaloData.h:107
int NHaloTriggers(HaloData::Endcap z=HaloData::both) const
Definition: CSCHaloData.h:35
void SetNFlatHaloSegments(short int nSegments)
Definition: CSCHaloData.h:95
virtual ~CSCHaloData()
Definition: CSCHaloData.h:30
bool GetSegmentIsEECaloMatched() const
Definition: CSCHaloData.h:61
void SetNIncomingTracks(short int n_small_dT, short int n_small_beta, short int n_small_both)
Definition: CSCHaloData.h:80
int NHaloTracks(HaloData::Endcap z=HaloData::both) const
Definition: CSCHaloData.h:39
void SetNumberOfHaloTriggers(int PlusZ, int MinusZ)
Definition: CSCHaloData.h:73
std::vector< GlobalPoint > & GetCSCTrackImpactPositions()
Definition: CSCHaloData.h:89
double b
Definition: hdecay.h:120
void SetSegmentIsHCaloMatched(bool b)
Definition: CSCHaloData.h:102
bool segments_in_both_endcaps
Definition: CSCHaloData.h:137
bool segments_in_both_endcaps_loose_dtcut_TrkMuUnVeto
Definition: CSCHaloData.h:141
bool segments_in_both_endcaps_loose_TrkMuUnVeto
Definition: CSCHaloData.h:140
short int nOutOfTimeTriggers_MinusZ
Definition: CSCHaloData.h:123
void SetSegmentsBothEndcaps_Loose_dTcut_TrkMuUnVeto(bool b)
Definition: CSCHaloData.h:100
short int NumberOfOutTimeHits() const
Definition: CSCHaloData.h:48
bool segmentisEEcalomatched
Definition: CSCHaloData.h:145
int nTriggers_MinusZ_TrkMuUnVeto
Definition: CSCHaloData.h:114
void SetNOutOfTimeHits(short int num)
Definition: CSCHaloData.h:78
bool segmentisEBcalomatched
Definition: CSCHaloData.h:144
short int nFlatHaloSegments_TrkMuUnVeto
Definition: CSCHaloData.h:139
void SetNumberOfHaloTriggers_TrkMuUnVeto(int PlusZ, int MinusZ)
Definition: CSCHaloData.h:74
void SetNOutOfTimeTriggers(short int PlusZ, short int MinusZ)
Definition: CSCHaloData.h:76
bool GetSegmentIsHCaloMatched() const
Definition: CSCHaloData.h:59
void SetSegmentIsEBCaloMatched(bool b)
Definition: CSCHaloData.h:103
short int nOutOfTimeTriggers_PlusZ
Definition: CSCHaloData.h:122
bool GetSegmentsInBothEndcaps_Loose_TrkMuUnVeto() const
Definition: CSCHaloData.h:64
int nTriggers_PlusZ_TrkMuUnVeto
Definition: CSCHaloData.h:113
short int nTracks_Small_dT_Small_beta
Definition: CSCHaloData.h:132
tuple status
Definition: mps_update.py:57
edm::RefVector< reco::TrackCollection > & GetTracks()
Definition: CSCHaloData.h:69
short int nFlatHaloSegments
Definition: CSCHaloData.h:136