79 edm::LogWarning(
"L1TPhase2OuterTrackerTkMET") <<
"cant find tracks" << std::endl;
82 if (!L1VertexHandle.
isValid()) {
83 edm::LogWarning(
"L1TPhase2OuterTrackerTkMET") <<
"cant find vertex" << std::endl;
90 int nTracks_counter = 0;
92 float zVTX = L1VertexHandle->begin()->z0();
93 unsigned int tkCnt = 0;
94 for (
const auto& trackIter : *TTTrackHandle) {
96 float pt = tempTrackPtr->momentum().perp();
97 float phi = tempTrackPtr->momentum().phi();
98 float eta = tempTrackPtr->momentum().eta();
100 theStubs = trackIter.getStubRefs();
101 int nstubs = (
int)theStubs.size();
103 float chi2dof = tempTrackPtr->chi2Red();
104 float bendchi2 = tempTrackPtr->stubPtConsistency();
105 float z0 = tempTrackPtr->z0();
118 for (
unsigned int istub = 0; istub < (
unsigned int)theStubs.size(); istub++) {
119 DetId detId(theStubs.at(istub)->getDetId());
131 if (fabs(
eta) >= 0 && fabs(
eta) < 0.7)
133 else if (fabs(
eta) >= 0.7 && fabs(
eta) < 1.0)
135 else if (fabs(
eta) >= 1.0 && fabs(
eta) < 1.2)
137 else if (fabs(
eta) >= 1.2 && fabs(
eta) < 1.6)
139 else if (fabs(
eta) >= 1.6 && fabs(
eta) < 2.0)
141 else if (fabs(
eta) >= 2.0 && fabs(
eta) <= 2.4)
163 float et =
sqrt(sumPx * sumPx + sumPy * sumPy);
164 double etmiss_PU =
sqrt(sumPx_PU * sumPx_PU + sumPy_PU * sumPy_PU);
T getParameter(std::string const &) const
unsigned int tobLayer(const DetId &id) const
T const & getData(const ESGetToken< T, R > &iToken) const noexcept(false)
virtual void setCurrentFolder(std::string const &fullpath)
MonitorElement * Track_Chi2Dof
Sin< T >::type sin(const T &t)
MonitorElement * Track_NPSstubs
MonitorElement * Track_Eta
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
edm::EDGetTokenT< std::vector< TTTrack< Ref_Phase2TrackerDigi_ > > > ttTrackToken_
std::string topFolderName_
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
MonitorElement * TkMET_PU
Cos< T >::type cos(const T &t)
MonitorElement * TkMET_QualityCuts
L1TPhase2OuterTrackerTkMET(const edm::ParameterSet &)
#define DEFINE_FWK_MODULE(type)
static constexpr auto TOB
Class to store the L1 Track Trigger stubs.
MonitorElement * Track_BendChi2
MonitorElement * Track_NStubs
void analyze(const edm::Event &, const edm::EventSetup &) override
edm::EDGetTokenT< l1t::VertexWordCollection > pvToken
MonitorElement * Track_Pt
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > m_topoToken
unsigned int tidRing(const DetId &id) const
Log< level::Warning, false > LogWarning
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
static constexpr auto TID
~L1TPhase2OuterTrackerTkMET() override
MonitorElement * Track_VtxZ
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)