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
35  // Number of Halo Tracks in +/- endcap
38 
39  // Halo trigger bit from the HLT
40  bool CSCHaloHLTAccept() const {return HLTAccept;}
41 
42  // Number of chamber-level triggers with non-collision timing
45  // Number of CSCRecHits with non-collision timing
46  short int NumberOfOutTimeHits() const { return nOutOfTimeHits;}
47  short int NOutOfTimeHits() const {return nOutOfTimeHits;}
48  // Look at number of muons with timing consistent with incoming particles
49  short int NTracksSmalldT() const { return nTracks_Small_dT;}
50  short int NTracksSmallBeta() const{ return nTracks_Small_beta; }
52 
53  // MLR
54  short int NFlatHaloSegments() const{ return nFlatHaloSegments; }
56  // End MLR
57 
58  // Get Reference to the Tracks
61 
62  // Set Number of Halo Triggers
63  void SetNumberOfHaloTriggers(int PlusZ, int MinusZ ){ nTriggers_PlusZ =PlusZ; nTriggers_MinusZ = MinusZ ;}
64 
65  // Set number of chamber-level triggers with non-collision timing
66  void SetNOutOfTimeTriggers(short int PlusZ,short int MinusZ){ nOutOfTimeTriggers_PlusZ = PlusZ ; nOutOfTimeTriggers_MinusZ = MinusZ;}
67  // Set number of CSCRecHits with non-collision timing
68  void SetNOutOfTimeHits(short int num){ nOutOfTimeHits = num ;}
69  // Set number of tracks with timing consistent with incoming particles
70  void SetNIncomingTracks(short int n_small_dT, short int n_small_beta, short int n_small_both) { nTracks_Small_dT = n_small_dT;
71  nTracks_Small_beta = n_small_beta; nTracks_Small_dT_Small_beta = n_small_both;}
72 
73  // Set HLT Bit
74  void SetHLTBit(bool status) { HLTAccept = status ;}
75 
76  // Get GlobalPoints of CSC tracking rechits nearest to the calorimeters
77  //std::vector<const GlobalPoint>& GetCSCTrackImpactPositions() const {return TheGlobalPositions;}
78  const std::vector<GlobalPoint>& GetCSCTrackImpactPositions() const {return TheGlobalPositions;}
79  std::vector<GlobalPoint>& GetCSCTrackImpactPositions() {return TheGlobalPositions;}
80 
81  // MLR
82  // Set # of CSCSegments that appear to be part of a halo muon
83  // If there is more than 1 muon, this is the number of segments in the halo muon
84  // with the largest number of segments that pass the cut.
85  void SetNFlatHaloSegments(short int nSegments) {nFlatHaloSegments = nSegments;}
87  // End MLR
88  private:
90 
91  // The GlobalPoints from constituent rechits nearest to the calorimeter of CSC tracks
92  std::vector<GlobalPoint> TheGlobalPositions;
95 
96  // CSC halo trigger reported by the HLT
97  bool HLTAccept;
98 
101 
102  // number of out-of-time chamber-level triggers (assumes the event triggered at the bx of the beam crossing)
105  // number of out-of-time CSCRecHit2Ds (assumes the event triggered at the bx of the beam crossing)
106  short int nOutOfTimeHits;
107  // number of cosmic muon outer (CSC) tracks with (T_segment_outer - T_segment_inner) < max_dt_muon_segment
108  short int nTracks_Small_dT;
109  // number of cosmic muon outer (CSC) tracks with free inverse beta < max_free_inverse_beta
111  // number of cosmic muon outer (CSC) tracks with both
112  // (T_segment_outer - T_segment_inner) < max_dt_muon_segment and free inverse beta < max_free_inverse_beta
114 
115  // MLR
116  // number of CSCSegments that are flat and have the same (r,phi)
117  short int nFlatHaloSegments;
119  // end MLR
120 
121  };
122 
123 
124 
125 }
126 
127 
128 #endif
short int NOutOfTimeTriggers(HaloData::Endcap z=HaloData::both) const
Definition: CSCHaloData.h:44
int NumberOfHaloTracks(HaloData::Endcap z=HaloData::both) const
Definition: CSCHaloData.cc:52
short int nTracks_Small_dT
Definition: CSCHaloData.h:108
bool CSCHaloHLTAccept() const
Definition: CSCHaloData.h:40
short int NTracksSmallBetaAndSmalldT() const
Definition: CSCHaloData.h:51
short int NumberOfOutOfTimeTriggers(HaloData::Endcap z=HaloData::both) const
Definition: CSCHaloData.cc:42
short int nTracks_Small_beta
Definition: CSCHaloData.h:110
short int NFlatHaloSegments() const
Definition: CSCHaloData.h:54
short int nOutOfTimeHits
Definition: CSCHaloData.h:106
double double double z
bool GetSegmentsInBothEndcaps() const
Definition: CSCHaloData.h:55
short int NTracksSmallBeta() const
Definition: CSCHaloData.h:50
short int NTracksSmalldT() const
Definition: CSCHaloData.h:49
const std::vector< GlobalPoint > & GetCSCTrackImpactPositions() const
Definition: CSCHaloData.h:78
void SetSegmentsBothEndcaps(bool b)
Definition: CSCHaloData.h:86
const edm::RefVector< reco::TrackCollection > & GetTracks() const
Definition: CSCHaloData.h:60
short int NOutOfTimeHits() const
Definition: CSCHaloData.h:47
std::vector< GlobalPoint > TheGlobalPositions
Definition: CSCHaloData.h:92
int NumberOfHaloTriggers(HaloData::Endcap z=HaloData::both) const
Definition: CSCHaloData.cc:32
void SetHLTBit(bool status)
Definition: CSCHaloData.h:74
edm::RefVector< reco::TrackCollection > TheTrackRefs
Definition: CSCHaloData.h:89
int NHaloTriggers(HaloData::Endcap z=HaloData::both) const
Definition: CSCHaloData.h:34
void SetNFlatHaloSegments(short int nSegments)
Definition: CSCHaloData.h:85
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:70
int NHaloTracks(HaloData::Endcap z=HaloData::both) const
Definition: CSCHaloData.h:37
void SetNumberOfHaloTriggers(int PlusZ, int MinusZ)
Definition: CSCHaloData.h:63
std::vector< GlobalPoint > & GetCSCTrackImpactPositions()
Definition: CSCHaloData.h:79
long long int num
Definition: procUtils.cc:71
double b
Definition: hdecay.h:120
bool segments_in_both_endcaps
Definition: CSCHaloData.h:118
short int nOutOfTimeTriggers_MinusZ
Definition: CSCHaloData.h:104
short int NumberOfOutTimeHits() const
Definition: CSCHaloData.h:46
void SetNOutOfTimeHits(short int num)
Definition: CSCHaloData.h:68
tuple status
Definition: ntuplemaker.py:245
void SetNOutOfTimeTriggers(short int PlusZ, short int MinusZ)
Definition: CSCHaloData.h:66
short int nOutOfTimeTriggers_PlusZ
Definition: CSCHaloData.h:103
short int nTracks_Small_dT_Small_beta
Definition: CSCHaloData.h:113
edm::RefVector< reco::TrackCollection > & GetTracks()
Definition: CSCHaloData.h:59
short int nFlatHaloSegments
Definition: CSCHaloData.h:117