Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2022-08-26 00:19:08

0001 #ifndef L1TPhase2_OuterTrackerTkMET_h
0002 #define L1TPhase2_OuterTrackerTkMET_h
0003 
0004 #include <vector>
0005 #include <memory>
0006 #include <string>
0007 #include "FWCore/Utilities/interface/EDGetToken.h"
0008 #include "FWCore/Framework/interface/Frameworkfwd.h"
0009 #include "DQMServices/Core/interface/MonitorElement.h"
0010 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0011 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0012 #include "FWCore/Framework/interface/Event.h"
0013 #include "FWCore/Framework/interface/MakerMacros.h"
0014 #include "DataFormats/Common/interface/DetSetVectorNew.h"
0015 #include "DataFormats/L1TrackTrigger/interface/TTTypes.h"
0016 // #include "DataFormats/L1TVertex/interface/Vertex.h"
0017 #include "DataFormats/L1Trigger/interface/VertexWord.h"
0018 
0019 class DQMStore;
0020 class L1TPhase2OuterTrackerTkMET : public DQMEDAnalyzer {
0021 public:
0022   explicit L1TPhase2OuterTrackerTkMET(const edm::ParameterSet&);
0023   ~L1TPhase2OuterTrackerTkMET() override;
0024   void analyze(const edm::Event&, const edm::EventSetup&) override;
0025   void bookHistograms(DQMStore::IBooker&, edm::Run const&, edm::EventSetup const&) override;
0026 
0027   MonitorElement* Track_N = nullptr;         // Number of tracks per event
0028   MonitorElement* Track_Pt = nullptr;        // pT distrubtion for tracks
0029   MonitorElement* Track_Eta = nullptr;       // eta distrubtion for tracks
0030   MonitorElement* Track_VtxZ = nullptr;      // z0 distrubtion for tracks
0031   MonitorElement* Track_Chi2Dof = nullptr;   // chi2 distrubtion for tracks
0032   MonitorElement* Track_BendChi2 = nullptr;  // bend chi2 distrubtion for tracks
0033   MonitorElement* Track_NStubs = nullptr;    // nstubs distrubtion for tracks
0034   MonitorElement* Track_NPSstubs = nullptr;  // nPS stubs distrubtion for tracks
0035 
0036   MonitorElement* TkMET_QualityCuts = nullptr;  //Matches the quality cuts in the producer
0037   MonitorElement* TkMET_PU = nullptr;
0038 
0039 private:
0040   edm::ParameterSet conf_;
0041   const edm::ESGetToken<TrackerTopology, TrackerTopologyRcd> m_topoToken;
0042   edm::EDGetTokenT<l1t::VertexWordCollection> pvToken;
0043   edm::EDGetTokenT<std::vector<TTTrack<Ref_Phase2TrackerDigi_> > > ttTrackToken_;
0044 
0045   float maxZ0;   // in cm
0046   float DeltaZ;  // in cm
0047   float maxEta;
0048   float chi2dofMax;
0049   float bendchi2Max;
0050   float minPt;  // in GeV
0051   int nStubsmin;
0052   int nStubsPSmin;   // minimum number of stubs in PS modules
0053   float maxPt;       // in GeV
0054   int HighPtTracks;  // saturate or truncate
0055 
0056   std::string topFolderName_;
0057 };
0058 #endif