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; }
59  // End MLR
63 
64 
65  // Get Reference to the Tracks
68 
69  // Set Number of Halo Triggers
70  void SetNumberOfHaloTriggers(int PlusZ, int MinusZ ){ nTriggers_PlusZ =PlusZ; nTriggers_MinusZ = MinusZ ;}
72  // Set number of chamber-level triggers with non-collision timing
73  void SetNOutOfTimeTriggers(short int PlusZ,short int MinusZ){ nOutOfTimeTriggers_PlusZ = PlusZ ; nOutOfTimeTriggers_MinusZ = MinusZ;}
74  // Set number of CSCRecHits with non-collision timing
75  void SetNOutOfTimeHits(short int num){ nOutOfTimeHits = num ;}
76  // Set number of tracks with timing consistent with incoming particles
77  void SetNIncomingTracks(short int n_small_dT, short int n_small_beta, short int n_small_both) { nTracks_Small_dT = n_small_dT;
78  nTracks_Small_beta = n_small_beta; nTracks_Small_dT_Small_beta = n_small_both;}
79 
80  // Set HLT Bit
81  void SetHLTBit(bool status) { HLTAccept = status ;}
82 
83  // Get GlobalPoints of CSC tracking rechits nearest to the calorimeters
84  //std::vector<const GlobalPoint>& GetCSCTrackImpactPositions() const {return TheGlobalPositions;}
85  const std::vector<GlobalPoint>& GetCSCTrackImpactPositions() const {return TheGlobalPositions;}
86  std::vector<GlobalPoint>& GetCSCTrackImpactPositions() {return TheGlobalPositions;}
87 
88  // MLR
89  // Set # of CSCSegments that appear to be part of a halo muon
90  // If there is more than 1 muon, this is the number of segments in the halo muon
91  // with the largest number of segments that pass the cut.
92  void SetNFlatHaloSegments(short int nSegments) {nFlatHaloSegments = nSegments;}
94  // End MLR
95  void SetNFlatHaloSegments_TrkMuUnVeto(short int nSegments) {nFlatHaloSegments_TrkMuUnVeto = nSegments;}
99 
100  private:
102 
103  // The GlobalPoints from constituent rechits nearest to the calorimeter of CSC tracks
104  std::vector<GlobalPoint> TheGlobalPositions;
109  // CSC halo trigger reported by the HLT
110  bool HLTAccept;
111 
114 
115  // number of out-of-time chamber-level triggers (assumes the event triggered at the bx of the beam crossing)
118  // number of out-of-time CSCRecHit2Ds (assumes the event triggered at the bx of the beam crossing)
119  short int nOutOfTimeHits;
120  // number of cosmic muon outer (CSC) tracks with (T_segment_outer - T_segment_inner) < max_dt_muon_segment
121  short int nTracks_Small_dT;
122  // number of cosmic muon outer (CSC) tracks with free inverse beta < max_free_inverse_beta
124  // number of cosmic muon outer (CSC) tracks with both
125  // (T_segment_outer - T_segment_inner) < max_dt_muon_segment and free inverse beta < max_free_inverse_beta
127 
128  // MLR
129  // number of CSCSegments that are flat and have the same (r,phi)
130  short int nFlatHaloSegments;
132  // end MLR
137  };
138 
139 
140 
141 }
142 
143 
144 #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:95
short int NFlatHaloSegments_TrkMuUnVeto() const
Definition: CSCHaloData.h:60
short int nTracks_Small_dT
Definition: CSCHaloData.h:121
bool CSCHaloHLTAccept() const
Definition: CSCHaloData.h:42
void SetSegmentsBothEndcaps_Loose_TrkMuUnVeto(bool b)
Definition: CSCHaloData.h:96
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:123
short int NFlatHaloSegments() const
Definition: CSCHaloData.h:56
short int nOutOfTimeHits
Definition: CSCHaloData.h:119
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:98
bool GetSegmentIsCaloMatched() const
Definition: CSCHaloData.h:58
const std::vector< GlobalPoint > & GetCSCTrackImpactPositions() const
Definition: CSCHaloData.h:85
void SetSegmentsBothEndcaps(bool b)
Definition: CSCHaloData.h:93
bool GetSegmentsInBothEndcaps_Loose_dTcut_TrkMuUnVeto() const
Definition: CSCHaloData.h:62
const edm::RefVector< reco::TrackCollection > & GetTracks() const
Definition: CSCHaloData.h:67
short int NOutOfTimeHits() const
Definition: CSCHaloData.h:49
std::vector< GlobalPoint > TheGlobalPositions
Definition: CSCHaloData.h:104
int NumberOfHaloTriggers(HaloData::Endcap z=HaloData::both) const
Definition: CSCHaloData.cc:32
void SetHLTBit(bool status)
Definition: CSCHaloData.h:81
edm::RefVector< reco::TrackCollection > TheTrackRefs
Definition: CSCHaloData.h:101
int NHaloTriggers(HaloData::Endcap z=HaloData::both) const
Definition: CSCHaloData.h:35
void SetNFlatHaloSegments(short int nSegments)
Definition: CSCHaloData.h:92
virtual ~CSCHaloData()
Definition: CSCHaloData.h:30
void SetNIncomingTracks(short int n_small_dT, short int n_small_beta, short int n_small_both)
Definition: CSCHaloData.h:77
int NHaloTracks(HaloData::Endcap z=HaloData::both) const
Definition: CSCHaloData.h:39
void SetNumberOfHaloTriggers(int PlusZ, int MinusZ)
Definition: CSCHaloData.h:70
std::vector< GlobalPoint > & GetCSCTrackImpactPositions()
Definition: CSCHaloData.h:86
double b
Definition: hdecay.h:120
bool segments_in_both_endcaps
Definition: CSCHaloData.h:131
bool segments_in_both_endcaps_loose_dtcut_TrkMuUnVeto
Definition: CSCHaloData.h:135
bool segments_in_both_endcaps_loose_TrkMuUnVeto
Definition: CSCHaloData.h:134
short int nOutOfTimeTriggers_MinusZ
Definition: CSCHaloData.h:117
void SetSegmentsBothEndcaps_Loose_dTcut_TrkMuUnVeto(bool b)
Definition: CSCHaloData.h:97
short int NumberOfOutTimeHits() const
Definition: CSCHaloData.h:48
int nTriggers_MinusZ_TrkMuUnVeto
Definition: CSCHaloData.h:108
void SetNOutOfTimeHits(short int num)
Definition: CSCHaloData.h:75
short int nFlatHaloSegments_TrkMuUnVeto
Definition: CSCHaloData.h:133
void SetNumberOfHaloTriggers_TrkMuUnVeto(int PlusZ, int MinusZ)
Definition: CSCHaloData.h:71
tuple status
Definition: ntuplemaker.py:245
void SetNOutOfTimeTriggers(short int PlusZ, short int MinusZ)
Definition: CSCHaloData.h:73
short int nOutOfTimeTriggers_PlusZ
Definition: CSCHaloData.h:116
bool GetSegmentsInBothEndcaps_Loose_TrkMuUnVeto() const
Definition: CSCHaloData.h:61
int nTriggers_PlusZ_TrkMuUnVeto
Definition: CSCHaloData.h:107
short int nTracks_Small_dT_Small_beta
Definition: CSCHaloData.h:126
edm::RefVector< reco::TrackCollection > & GetTracks()
Definition: CSCHaloData.h:66
short int nFlatHaloSegments
Definition: CSCHaloData.h:130