CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/DataFormats/METReco/interface/CSCHaloData.h

Go to the documentation of this file.
00001 #ifndef DATAFORMATS_METRECO_CSCHALODATA_H
00002 #define DATAFORMATS_METRECO_CSCHALODATA_H
00003 #include "TMath.h"
00004 #include <vector>
00005 
00006 #include "DataFormats/TrackReco/interface/TrackFwd.h"
00007 #include "DataFormats/TrackReco/interface/Track.h"
00008 #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
00009 
00010 #include "DataFormats/METReco/interface/HaloData.h"
00011 
00012 #include "DataFormats/Common/interface/RefVector.h"
00013 #include <vector>
00014 
00015 /*
00016   [class]:  CSCHaloData
00017   [authors]: R. Remington, The University of Florida
00018   [description]: Container class to store beam halo data specific to the CSC subdetector
00019   [date]: October 15, 2009
00020 */
00021 
00022 namespace reco {
00023   
00024   class CSCHaloData{
00025     
00026   public:
00027     // Default constructor
00028     CSCHaloData();
00029 
00030     virtual ~CSCHaloData(){}
00031 
00032     // Number of HaloTriggers in +/- endcap
00033     int NumberOfHaloTriggers (HaloData::Endcap z= HaloData::both) const ;
00034     int NHaloTriggers(HaloData::Endcap z = HaloData::both ) const { return NumberOfHaloTriggers(z);}
00035     // Number of Halo Tracks in +/-  endcap
00036     int NumberOfHaloTracks(HaloData::Endcap z= HaloData::both) const ;
00037     int NHaloTracks(HaloData::Endcap z = HaloData::both) const { return NumberOfHaloTracks(z) ;}
00038 
00039     // Halo trigger bit from the HLT  
00040     bool CSCHaloHLTAccept() const {return HLTAccept;}
00041 
00042     // Number of chamber-level triggers with non-collision timing
00043     short int NumberOfOutOfTimeTriggers(HaloData::Endcap z = HaloData::both ) const;
00044     short int NOutOfTimeTriggers(HaloData::Endcap z = HaloData::both) const {return NumberOfOutOfTimeTriggers(z);}
00045     // Number of CSCRecHits with non-collision timing
00046     short int NumberOfOutTimeHits() const { return nOutOfTimeHits;}
00047     short int NOutOfTimeHits() const {return nOutOfTimeHits;}
00048 
00049     // Get Reference to the Tracks
00050     edm::RefVector<reco::TrackCollection>& GetTracks(){return TheTrackRefs;}
00051     const edm::RefVector<reco::TrackCollection>& GetTracks()const {return TheTrackRefs;}
00052     
00053     // Set Number of Halo Triggers
00054     void SetNumberOfHaloTriggers(int PlusZ,  int MinusZ ){ nTriggers_PlusZ =PlusZ; nTriggers_MinusZ = MinusZ ;}
00055 
00056     // Set number of chamber-level triggers with non-collision timing
00057     void SetNOutOfTimeTriggers(short int PlusZ,short int MinusZ){ nOutOfTimeTriggers_PlusZ = PlusZ ; nOutOfTimeTriggers_MinusZ = MinusZ;}
00058     // Set number of CSCRecHits with non-collision timing
00059     void SetNOutOfTimeHits(short int num){ nOutOfTimeHits = num ;}
00060 
00061     // Set HLT Bit
00062     void SetHLTBit(bool status) { HLTAccept = status ;} 
00063 
00064     // Get GlobalPoints of CSC tracking rechits nearest to the calorimeters
00065     //std::vector<const GlobalPoint>& GetCSCTrackImpactPositions() const {return TheGlobalPositions;}
00066     const std::vector<GlobalPoint>& GetCSCTrackImpactPositions() const {return TheGlobalPositions;}
00067     std::vector<GlobalPoint>& GetCSCTrackImpactPositions() {return TheGlobalPositions;}
00068     
00069   private:
00070     edm::RefVector<reco::TrackCollection> TheTrackRefs;
00071 
00072     // The GlobalPoints from constituent rechits nearest to the calorimeter of CSC tracks
00073     std::vector<GlobalPoint> TheGlobalPositions;
00074     int nTriggers_PlusZ;
00075     int nTriggers_MinusZ;
00076 
00077     // CSC halo trigger reported by the HLT
00078     bool HLTAccept;
00079    
00080     int nTracks_PlusZ;
00081     int nTracks_MinusZ;
00082 
00083     // number of  out-of-time chamber-level triggers (assumes the event triggered at the bx of the beam crossing)
00084     short int nOutOfTimeTriggers_PlusZ;
00085     short int nOutOfTimeTriggers_MinusZ;
00086     // number of out-of-time CSCRecHit2Ds (assumes the event triggered at the bx of the beam crossing)
00087     short int nOutOfTimeHits;
00088 
00089   };
00090 
00091 
00092   
00093 }
00094   
00095 
00096 #endif