CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
SiStripMonitorMuonHLT.h
Go to the documentation of this file.
1 #ifndef SiStripMonitorMuonHLT_SiStripMonitorMuonHLT_h
2 #define SiStripMonitorMuonHLT_SiStripMonitorMuonHLT_h
3 
4 
5 // system include files
6 #include <memory>
7 #include <string>
8 #include <cmath>
9 
10 // user include files
22 
30 //#include "DataFormats/Common/interface/TriggerResults.h"
34 
40 
42 
44 
47 
49 
50  //needed for normalisation
51 //Id
57 //BoundPlane
63 //Point
65 //Root
66 #include "TGraph.h"
67 #include "TFile.h"
68 #include "TH1F.h"
69 #include "TMath.h"
70 #include "Math/GenVector/CylindricalEta3D.h"
72 
73 //
74 // class decleration
75 //
76 
78 
79  //structure which contains all MonitorElement for a Layer
80  // there is 34 layers in the tracker
81  struct LayerMEs{ // MEs for Layer Level
91  };
92 
93 
94  public:
95  explicit SiStripMonitorMuonHLT(const edm::ParameterSet& ps);
97 
98  private:
99  virtual void beginRun(const edm::Run& run, const edm::EventSetup& es);
100  virtual void analyze(const edm::Event&, const edm::EventSetup&);
101  void analyzeOnTrackClusters( const reco::Track* l3tk, const TrackerGeometry & theTracker, bool isL3MuTrack = true );
102  virtual void endJob() ;
103  void createMEs(const edm::EventSetup& es);
104  //methods needed for normalisation
105  float GetEtaWeight(std::string label, GlobalPoint gp);
106  float GetPhiWeight(std::string label, GlobalPoint gp);
107  void GeometryFromTrackGeom (std::vector<DetId> Dets,const TrackerGeometry & theTracker,
108  std::map<std::string,std::vector<float> > & m_PhiStripMod_Eta,std::map<std::string,std::vector<float> > & m_PhiStripMod_Nb);
109  void Normalizer (std::vector<DetId> Dets,const TrackerGeometry & theTracker);
110  void PrintNormalization (std::vector<std::string> v_LabelHisto);
111 
112  // ----------member data ---------------------------
113 
115 
117  std::string monitorName_;
118  std::string outputFile_;
120  int nTrig_;
122  bool verbose_;
125 
126  //booleans to active part of the code
127  bool runOnClusters_; //all clusters collection
128  bool runOnMuonCandidates_; //L3 muons candidates
129  bool runOnTracks_; //tracks available in HLT stream
130 
131  //tag for collection taken as input
135 
136  int HistoNumber; //nof layers in Tracker = 34
138  std::map<std::string, LayerMEs> LayerMEMap;
139  //2D info from TkHistoMap
143 
144 
145  // FOR NORMALISATION
146  std::map<std::string,std::vector<float> > m_BinPhi ;
147  std::map<std::string,std::vector<float> > m_BinEta ;
148  std::map<std::string,std::vector<float> > m_ModNormPhi;
149  std::map<std::string,std::vector<float> > m_ModNormEta;
150 
151 
152 
153 };
154 #endif
std::map< std::string, std::vector< float > > m_BinPhi
float GetPhiWeight(std::string label, GlobalPoint gp)
void PrintNormalization(std::vector< std::string > v_LabelHisto)
dictionary map
Definition: Association.py:205
float GetEtaWeight(std::string label, GlobalPoint gp)
void Normalizer(std::vector< DetId > Dets, const TrackerGeometry &theTracker)
void GeometryFromTrackGeom(std::vector< DetId > Dets, const TrackerGeometry &theTracker, std::map< std::string, std::vector< float > > &m_PhiStripMod_Eta, std::map< std::string, std::vector< float > > &m_PhiStripMod_Nb)
bool verbose_
every n events
void analyzeOnTrackClusters(const reco::Track *l3tk, const TrackerGeometry &theTracker, bool isL3MuTrack=true)
SiStripMonitorMuonHLT(const edm::ParameterSet &ps)
void createMEs(const edm::EventSetup &es)
int prescaleEvt_
mutriggered events
virtual void analyze(const edm::Event &, const edm::EventSetup &)
std::map< std::string, LayerMEs > LayerMEMap
std::map< std::string, std::vector< float > > m_BinEta
std::map< std::string, std::vector< float > > m_ModNormPhi
virtual void beginRun(const edm::Run &run, const edm::EventSetup &es)
std::map< std::string, std::vector< float > > m_ModNormEta
Definition: Run.h:33
edm::ParameterSet parameters_