1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
#ifndef TrackingMonitor_TrackEfficiencyClient_h
#define TrackingMonitor_TrackEfficiencyClient_h
// -*- C++ -*-
//
// Package: TrackingMonitor
// Class : TrackEfficiencyClient
//
/**\class TrackEfficiencyClient TrackEfficiencyClient.h DQM/TrackingMonitor/interface/TrackEfficiencyClient.h
DQM class to compute the tracking efficiency
*/
// Original Author: A.-C. Le Bihan
// Created: Fri Dec 5 12:14:22 CET 2008
#include <string>
#include "DQMServices/Core/interface/DQMEDHarvester.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "FWCore/Framework/interface/ESHandle.h"
#include "FWCore/Framework/interface/LuminosityBlock.h"
#include "FWCore/Framework/interface/Run.h"
#include "FWCore/Framework/interface/EventSetup.h"
#include "FWCore/Framework/interface/MakerMacros.h"
#include "DQMServices/Core/interface/DQMStore.h"
#include <string>
class TrackEfficiencyClient : public DQMEDHarvester {
public:
/// Constructor
TrackEfficiencyClient(const edm::ParameterSet& ps);
/// Destructor
~TrackEfficiencyClient() override;
protected:
/// BeginJob
void beginJob(void) override;
/// BeginRun
void beginRun(edm::Run const& run, edm::EventSetup const& eSetup) override;
/// EndJob
void dqmEndJob(DQMStore::IBooker& ibooker_, DQMStore::IGetter& igetter_) override;
private:
/// book MEs
void bookMEs(DQMStore::IBooker& ibooker_);
edm::ParameterSet conf_;
bool trackEfficiency_; //1 if one wants to measure the tracking efficiency
//0 if one wants to measure the muon reco efficiency
std::string histName;
std::string algoName_;
std::string FolderName_;
MonitorElement* effX;
MonitorElement* effY;
MonitorElement* effZ;
MonitorElement* effEta;
MonitorElement* effPhi;
MonitorElement* effD0;
MonitorElement* effCompatibleLayers;
MonitorElement *effPtPhiLowPt, *effPtPhiHighPt;
};
#endif
|