CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
JetHTAnalyzer Class Reference

#include <Alignment/OfflineValidation/plugins/JetHTAnalyzer.cc>

Inheritance diagram for JetHTAnalyzer:
edm::one::EDAnalyzer< edm::one::SharedResources > edm::one::EDAnalyzerBase edm::EDConsumerBase

Public Member Functions

 JetHTAnalyzer (const edm::ParameterSet &)
 
 ~JetHTAnalyzer () override
 
- Public Member Functions inherited from edm::one::EDAnalyzer< edm::one::SharedResources >
 EDAnalyzer ()=default
 
 EDAnalyzer (const EDAnalyzer &)=delete
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
const EDAnalyzeroperator= (const EDAnalyzer &)=delete
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
bool wantsInputProcessBlocks () const final
 
bool wantsProcessBlocks () const final
 
- Public Member Functions inherited from edm::one::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDAnalyzerBase () override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESProxyIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::array< std::vector< ModuleDescription const *> *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, ProductRegistry const &preg, std::map< std::string, ModuleDescription const *> const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
static bool mysorter (reco::Track i, reco::Track j)
 
- Static Public Member Functions inherited from edm::one::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Private Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void beginJob () override
 
void endJob () override
 

Private Attributes

TH1F * h_ntrks
 
TH1F * h_probeDxy
 
TH1F * h_probeDxyErr
 
TH1F * h_probeDz
 
TH1F * h_probeDzErr
 
TH1F * h_probeEta
 
TH1F * h_probePhi
 
TH1F * h_probePt
 
std::vector< int > iovList_
 
double minVtxNdf_
 
double minVtxWgt_
 
SmartSelectionMonitor mon
 
edm::Service< TFileServiceoutfile_
 
int printTriggerTable_
 
std::vector< double > profilePtBorders_
 
edm::InputTag pvsTag_
 
edm::EDGetTokenT< reco::VertexCollectionpvsToken_
 
edm::InputTag tracksTag_
 
edm::EDGetTokenT< reco::TrackCollectiontracksToken_
 
edm::InputTag triggerTag_
 
edm::EDGetTokenT< edm::TriggerResultstriggerToken_
 

Additional Inherited Members

- Public Types inherited from edm::one::EDAnalyzerBase
typedef EDAnalyzerBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< Bconsumes (edm::InputTag tag) noexcept
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes ()
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag)
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
void resetItemsToGetFrom (BranchType iType)
 

Detailed Description

Description: [one line class summary]

Implementation: [Notes on implementation]

Definition at line 67 of file JetHTAnalyzer.cc.

Constructor & Destructor Documentation

◆ JetHTAnalyzer()

JetHTAnalyzer::JetHTAnalyzer ( const edm::ParameterSet iConfig)
explicit

Definition at line 114 of file JetHTAnalyzer.cc.

References TFileService::kSharedResource.

115  : pvsTag_(iConfig.getParameter<edm::InputTag>("vtxCollection")),
116  pvsToken_(consumes<reco::VertexCollection>(pvsTag_)),
117  tracksTag_(iConfig.getParameter<edm::InputTag>("trackCollection")),
118  tracksToken_(consumes<reco::TrackCollection>(tracksTag_)),
119  triggerTag_(iConfig.getParameter<edm::InputTag>("triggerResults")),
120  triggerToken_(consumes<edm::TriggerResults>(triggerTag_)),
121  printTriggerTable_(iConfig.getUntrackedParameter<int>("printTriggerTable")),
122  minVtxNdf_(iConfig.getUntrackedParameter<double>("minVertexNdf")),
123  minVtxWgt_(iConfig.getUntrackedParameter<double>("minVertexMeanWeight")),
124  profilePtBorders_(iConfig.getUntrackedParameter<std::vector<double>>("profilePtBorders")),
125  iovList_(iConfig.getUntrackedParameter<std::vector<int>>("iovList")) {
126  // Specify that TFileService is used by the class
127  usesResource(TFileService::kSharedResource);
128 }
static const std::string kSharedResource
Definition: TFileService.h:76
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
std::vector< int > iovList_
edm::InputTag tracksTag_
std::vector< double > profilePtBorders_
T getUntrackedParameter(std::string const &, T const &) const
edm::InputTag triggerTag_
edm::InputTag pvsTag_
edm::EDGetTokenT< reco::TrackCollection > tracksToken_
edm::EDGetTokenT< reco::VertexCollection > pvsToken_
edm::EDGetTokenT< edm::TriggerResults > triggerToken_

◆ ~JetHTAnalyzer()

JetHTAnalyzer::~JetHTAnalyzer ( )
overridedefault

Member Function Documentation

◆ analyze()

void JetHTAnalyzer::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprivatevirtual

Implements edm::one::EDAnalyzerBase.

Definition at line 140 of file JetHTAnalyzer.cc.

References funct::abs(), muonTagProbeFilters_cff::allTracks, cmToum, gather_cfg::cout, SmartSelectionMonitor::fillHisto(), SmartSelectionMonitor::fillProfile(), h_ntrks, h_probeDxy, h_probeDxyErr, h_probeDz, h_probeDzErr, h_probeEta, h_probePhi, h_probePt, mps_fire::i, iEvent, iovList_, reco::Vertex::isFake(), minVtxNdf_, minVtxWgt_, mon, mysorter(), reco::Vertex::ndof(), printTriggerTable_, profilePtBorders_, pvsToken_, convertSQLiteXML::runNumber, jetsAK4_CHS_cff::sort, AlCaHLTBitMon_QueryRunRegistry::string, tracks, reco::Vertex::tracks_begin(), reco::Vertex::tracks_end(), reco::Vertex::tracksSize(), tracksToken_, L1TEGammaOffline_cfi::triggerNames, triggerResults, triggerToken_, parallelization::uint, AlignmentTracksFromVertexSelector_cfi::vertices, reco::Vertex::x(), reco::Vertex::y(), and reco::Vertex::z().

140  {
141  using namespace edm;
142 
143  const double cmToum = 10000;
144 
145  const auto& vertices = iEvent.get(pvsToken_);
146  const reco::VertexCollection& pvtx = vertices;
147 
149 
150  // Find the IOV of the current event so that we can tag a histogram with the IOV
151  const int runNumber = iEvent.id().run();
152  std::string iovString = "iovNotFound";
153 
154  // Find the current IOV from the IOV list
155  if (runNumber >= iovList_.at(0)) { // If run number is smaller than the first item in the list, it is not in any IOV
156  for (std::vector<int>::size_type i = 1; i < iovList_.size(); i++) {
157  if (iovList_.at(i) > runNumber) {
158  iovString = Form("iov%d-%d", iovList_.at(i - 1), iovList_.at(i) - 1);
159  break;
160  }
161  }
162  }
163 
164  // Print the triggers to console
165  if (printTriggerTable_) {
166  const auto& triggerResults = iEvent.get(triggerToken_);
167 
168  const edm::TriggerNames& triggerNames = iEvent.triggerNames(triggerResults);
169  for (unsigned i = 0; i < triggerNames.size(); i++) {
170  const std::string& hltName = triggerNames.triggerName(i);
171  bool decision = triggerResults.accept(triggerNames.triggerIndex(hltName));
172  std::cout << hltName << " " << decision << std::endl;
173  }
174  }
175 
176  int counter = 0;
177  for (reco::VertexCollection::const_iterator pvIt = pvtx.begin(); pvIt != pvtx.end(); pvIt++) {
178  reco::Vertex iPV = *pvIt;
179  counter++;
180 
181  if (iPV.isFake())
182  continue;
184 
185  const math::XYZPoint pos_(iPV.x(), iPV.y(), iPV.z());
186 
187  // vertex selection as in bs code
188  if (iPV.ndof() < minVtxNdf_ || (iPV.ndof() + 3.) / iPV.tracksSize() < 2 * minVtxWgt_)
189  continue;
190 
192  for (trki = iPV.tracks_begin(); trki != iPV.tracks_end(); ++trki) {
193  if (trki->isNonnull()) {
194  reco::TrackRef trk_now(tracks, (*trki).key());
195  allTracks.push_back(*trk_now);
196  }
197  }
198 
199  // order with decreasing pt
200  std::sort(allTracks.begin(), allTracks.end(), mysorter);
201  uint ntrks = allTracks.size();
202  h_ntrks->Fill(ntrks);
203 
204  for (uint tracksIt = 0; tracksIt < ntrks; tracksIt++) {
205  auto tk = allTracks.at(tracksIt);
206 
207  double dxyRes = tk.dxy(pos_) * cmToum;
208  double dzRes = tk.dz(pos_) * cmToum;
209 
210  double dxy_err = tk.dxyError() * cmToum;
211  double dz_err = tk.dzError() * cmToum;
212 
213  float trackphi = tk.phi();
214  float tracketa = tk.eta();
215  float trackpt = tk.pt();
216 
217  h_probePt->Fill(trackpt);
218  h_probeEta->Fill(tracketa);
219  h_probePhi->Fill(trackphi);
220 
221  h_probeDxy->Fill(dxyRes);
222  h_probeDz->Fill(dzRes);
223  h_probeDxyErr->Fill(dxy_err);
224  h_probeDzErr->Fill(dz_err);
225 
226  mon.fillHisto("dxy", "all", dxyRes, 1.);
227  mon.fillHisto("dz", "all", dzRes, 1.);
228  mon.fillHisto("dxyerr", "all", dxy_err, 1.);
229  mon.fillHisto("dzerr", "all", dz_err, 1.);
230 
231  mon.fillProfile("dxyErrVsPt", "all", trackpt, dxy_err, 1.);
232  mon.fillProfile("dzErrVsPt", "all", trackpt, dz_err, 1.);
233 
234  mon.fillProfile("dxyErrVsPhi", "all", trackphi, dxy_err, 1.);
235  mon.fillProfile("dzErrVsPhi", "all", trackphi, dz_err, 1.);
236 
237  mon.fillProfile("dxyErrVsEta", "all", tracketa, dxy_err, 1.);
238  mon.fillProfile("dzErrVsEta", "all", tracketa, dz_err, 1.);
239 
240  // Integrated pT bins
241  for (std::vector<double>::size_type i = 0; i < profilePtBorders_.size(); i++) {
242  if (trackpt < profilePtBorders_.at(i))
243  break;
244  mon.fillProfile("dxyErrVsPtWide", "all", i, dxy_err, 1.);
245  mon.fillProfile("dzErrVsPtWide", "all", i, dz_err, 1.);
246  }
247 
248  // Fill IOV specific histograms
249  mon.fillHisto("dxy", iovString, dxyRes, 1.);
250  mon.fillHisto("dz", iovString, dzRes, 1.);
251  mon.fillHisto("dxyerr", iovString, dxy_err, 1.);
252  mon.fillHisto("dzerr", iovString, dz_err, 1.);
253 
254  mon.fillProfile("dxyErrVsPt", iovString, trackpt, dxy_err, 1.);
255  mon.fillProfile("dzErrVsPt", iovString, trackpt, dz_err, 1.);
256 
257  mon.fillProfile("dxyErrVsPhi", iovString, trackphi, dxy_err, 1.);
258  mon.fillProfile("dzErrVsPhi", iovString, trackphi, dz_err, 1.);
259 
260  mon.fillProfile("dxyErrVsEta", iovString, tracketa, dxy_err, 1.);
261  mon.fillProfile("dzErrVsEta", iovString, tracketa, dz_err, 1.);
262 
263  // Integrated pT bins
264  for (std::vector<double>::size_type i = 0; i < profilePtBorders_.size(); i++) {
265  if (trackpt < profilePtBorders_.at(i))
266  break;
267  mon.fillProfile("dxyErrVsPtWide", iovString, i, dxy_err, 1.);
268  mon.fillProfile("dzErrVsPtWide", iovString, i, dz_err, 1.);
269  }
270 
271  if (std::abs(tracketa) < 1.) {
272  mon.fillHisto("dxy", "central", dxyRes, 1.);
273  mon.fillHisto("dz", "central", dzRes, 1.);
274  mon.fillHisto("dxyerr", "central", dxy_err, 1.);
275  mon.fillHisto("dzerr", "central", dz_err, 1.);
276 
277  mon.fillProfile("dxyErrVsPt", "central", trackpt, dxy_err, 1.);
278  mon.fillProfile("dzErrVsPt", "central", trackpt, dz_err, 1.);
279 
280  mon.fillProfile("dxyErrVsPhi", "central", trackphi, dxy_err, 1.);
281  mon.fillProfile("dzErrVsPhi", "central", trackphi, dz_err, 1.);
282 
283  // Integrated pT bins
284  for (std::vector<double>::size_type i = 0; i < profilePtBorders_.size(); i++) {
285  if (trackpt < profilePtBorders_.at(i))
286  break;
287  mon.fillProfile("dxyErrVsPtWide", "central", i, dxy_err, 1.);
288  mon.fillProfile("dzErrVsPtWide", "central", i, dz_err, 1.);
289  }
290  }
291 
292  } // loop on tracks in vertex
293  } // loop on vertices
294 
295  mon.fillHisto("nvtx", "all", counter, 1.);
296 }
static bool mysorter(reco::Track i, reco::Track j)
bool fillHisto(std::string name, std::string tag, double valx, double weight, bool useBinWidth=false)
double z() const
z coordinate
Definition: Vertex.h:133
bool isFake() const
Definition: Vertex.h:76
std::vector< int > iovList_
TH1F * h_probeDxyErr
std::vector< Track > TrackCollection
collection of Tracks
Definition: TrackFwd.h:14
std::vector< double > profilePtBorders_
std::vector< Vertex > VertexCollection
collection of Vertex objects
Definition: VertexFwd.h:9
double ndof() const
Definition: Vertex.h:123
uint16_t size_type
trackRef_iterator tracks_end() const
last iterator over tracks
Definition: Vertex.h:110
SmartSelectionMonitor mon
size_t tracksSize() const
number of tracks
Definition: Vertex.h:112
int iEvent
Definition: GenABIO.cc:224
bool fillProfile(std::string name, std::string tag, double valx, double valy, double weight)
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
trackRef_iterator tracks_begin() const
first iterator over tracks
Definition: Vertex.h:108
double x() const
x coordinate
Definition: Vertex.h:129
static std::string const triggerResults
Definition: EdmProvDump.cc:47
double y() const
y coordinate
Definition: Vertex.h:131
auto const & tracks
cannot be loose
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
HLT enums.
edm::EDGetTokenT< reco::TrackCollection > tracksToken_
static constexpr float cmToum
edm::EDGetTokenT< reco::VertexCollection > pvsToken_
std::vector< TrackBaseRef >::const_iterator trackRef_iterator
The iteratator for the vector<TrackRef>
Definition: Vertex.h:38
edm::EDGetTokenT< edm::TriggerResults > triggerToken_

◆ beginJob()

void JetHTAnalyzer::beginJob ( )
overrideprivatevirtual

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 299 of file JetHTAnalyzer.cc.

References SmartSelectionMonitor::addHistogram(), h_ntrks, h_probeDxy, h_probeDxyErr, h_probeDz, h_probeDzErr, h_probeEta, h_probePhi, h_probePt, TFileService::make(), mon, seedmultiplicitymonitor_newtracking_cfi::nBins, outfile_, Pi, and profilePtBorders_.

299  {
300  h_ntrks = outfile_->make<TH1F>("h_ntrks", "n. trks;n. of tracks/vertex;n. vertices", 100, 0, 100);
301  h_probePt = outfile_->make<TH1F>("h_probePt", "p_{T} of probe track;track p_{T} (GeV); tracks", 100, 0., 500.);
302  h_probeEta = outfile_->make<TH1F>("h_probeEta", "#eta of the probe track;track #eta;tracks", 54, -2.8, 2.8);
303  h_probePhi = outfile_->make<TH1F>("h_probePhi", "#phi of probe track;track #phi (rad);tracks", 100, -3.15, 3.15);
304 
305  h_probeDxy =
306  outfile_->make<TH1F>("h_probeDxy", "d_{xy}(PV) of the probe track;track d_{xy}(PV);tracks", 200, -100, 100);
307  h_probeDz = outfile_->make<TH1F>("h_probeDz", "d_{z}(PV) of the probe track;track d_{z}(PV);tracks", 200, -100, 100);
308  h_probeDxyErr = outfile_->make<TH1F>(
309  "h_probeDxyErr", "error on d_{xy}(PV) of the probe track;track error on d_{xy}(PV);tracks", 100, 0., 100);
310  h_probeDzErr = outfile_->make<TH1F>(
311  "h_probeDzErr", "error on d_{z}(PV) of the probe track;track error on d_{z}(PV);tracks", 100, 0., 100);
312 
313  mon.addHistogram(new TH1F("nvtx", ";Vertices;Events", 50, 0, 50));
314  mon.addHistogram(new TH1F("dxy", ";d_{xy};tracks", 100, -100, 100));
315  mon.addHistogram(new TH1F("dz", ";d_{z};tracks", 100, -100, 100));
316  mon.addHistogram(new TH1F("dxyerr", ";d_{xy} error;tracks", 100, 0., 200));
317  mon.addHistogram(new TH1F("dzerr", ";d_{z} error;tracks", 100, 0., 200));
318  mon.addHistogram(new TProfile("dxyErrVsPt", ";track p_{T};d_{xy} error", 100, 0., 200, 0., 100.));
319  mon.addHistogram(new TProfile("dzErrVsPt", ";track p_{T};d_{z} error", 100, 0., 200, 0., 100.));
321  new TProfile("dxyErrVsPhi", ";track #varphi;d_{xy} error", 100, -TMath::Pi(), TMath::Pi(), 0., 100.));
322  mon.addHistogram(new TProfile("dzErrVsPhi", ";track #varphi;d_{z} error", 100, -TMath::Pi(), TMath::Pi(), 0., 100.));
323  mon.addHistogram(new TProfile("dxyErrVsEta", ";track #eta;d_{xy} error", 100, -2.5, 2.5, 0., 100.));
324  mon.addHistogram(new TProfile("dzErrVsEta", ";track #eta;d_{z} error", 100, -2.5, 2.5, 0., 100.));
325 
326  // Variable size histogram depending on the given pT bin borders
327  int nBins = profilePtBorders_.size();
329  new TProfile("dxyErrVsPtWide", ";track p_{T} wide bin;d_{xy} error", nBins, -0.5, nBins - 0.5, 0.0, 100.0));
331  new TProfile("dzErrVsPtWide", ";track p_{T} wide bin;d_{z} error", nBins, -0.5, nBins - 0.5, 0.0, 100.0));
332 }
const double Pi
TH1F * h_probeDxyErr
std::vector< double > profilePtBorders_
SmartSelectionMonitor mon
TH1 * addHistogram(TH1 *h, std::string tag)
edm::Service< TFileService > outfile_
T * make(const Args &...args) const
make new ROOT object
Definition: TFileService.h:64

◆ endJob()

void JetHTAnalyzer::endJob ( void  )
overrideprivatevirtual

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 335 of file JetHTAnalyzer.cc.

References mon, and SmartSelectionMonitor::Write().

Referenced by o2olib.O2ORunMgr::executeJob().

335 { mon.Write(); }
SmartSelectionMonitor mon

◆ fillDescriptions()

void JetHTAnalyzer::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 338 of file JetHTAnalyzer.cc.

References edm::ConfigurationDescriptions::add(), submitPVResolutionJobs::desc, and HLT_2022v15_cff::InputTag.

338  {
340  desc.setComment("JetHT validation analyzer plugin.");
341  desc.add<edm::InputTag>("vtxCollection", edm::InputTag("offlinePrimaryVerticesFromRefittedTrks"));
342  desc.add<edm::InputTag>("triggerResults", edm::InputTag("TriggerResults", "", "HLT"));
343  desc.add<edm::InputTag>("trackCollection", edm::InputTag("TrackRefitter"));
344  descriptions.add("JetHTAnalyzer", desc);
345 }
void add(std::string const &label, ParameterSetDescription const &psetDescription)

◆ mysorter()

static bool JetHTAnalyzer::mysorter ( reco::Track  i,
reco::Track  j 
)
inlinestatic

Definition at line 73 of file JetHTAnalyzer.cc.

References mps_fire::i, and dqmiolumiharvest::j.

Referenced by analyze().

73 { return (i.pt() > j.pt()); }

Member Data Documentation

◆ h_ntrks

TH1F* JetHTAnalyzer::h_ntrks
private

Definition at line 99 of file JetHTAnalyzer.cc.

Referenced by analyze(), and beginJob().

◆ h_probeDxy

TH1F* JetHTAnalyzer::h_probeDxy
private

Definition at line 103 of file JetHTAnalyzer.cc.

Referenced by analyze(), and beginJob().

◆ h_probeDxyErr

TH1F* JetHTAnalyzer::h_probeDxyErr
private

Definition at line 105 of file JetHTAnalyzer.cc.

Referenced by analyze(), and beginJob().

◆ h_probeDz

TH1F* JetHTAnalyzer::h_probeDz
private

Definition at line 104 of file JetHTAnalyzer.cc.

Referenced by analyze(), and beginJob().

◆ h_probeDzErr

TH1F* JetHTAnalyzer::h_probeDzErr
private

Definition at line 106 of file JetHTAnalyzer.cc.

Referenced by analyze(), and beginJob().

◆ h_probeEta

TH1F* JetHTAnalyzer::h_probeEta
private

Definition at line 101 of file JetHTAnalyzer.cc.

Referenced by analyze(), and beginJob().

◆ h_probePhi

TH1F* JetHTAnalyzer::h_probePhi
private

Definition at line 102 of file JetHTAnalyzer.cc.

Referenced by analyze(), and beginJob().

◆ h_probePt

TH1F* JetHTAnalyzer::h_probePt
private

Definition at line 100 of file JetHTAnalyzer.cc.

Referenced by analyze(), and beginJob().

◆ iovList_

std::vector<int> JetHTAnalyzer::iovList_
private

Definition at line 96 of file JetHTAnalyzer.cc.

Referenced by analyze().

◆ minVtxNdf_

double JetHTAnalyzer::minVtxNdf_
private

Definition at line 92 of file JetHTAnalyzer.cc.

Referenced by analyze().

◆ minVtxWgt_

double JetHTAnalyzer::minVtxWgt_
private

Definition at line 93 of file JetHTAnalyzer.cc.

Referenced by analyze().

◆ mon

SmartSelectionMonitor JetHTAnalyzer::mon
private

Definition at line 108 of file JetHTAnalyzer.cc.

Referenced by analyze(), beginJob(), and endJob().

◆ outfile_

edm::Service<TFileService> JetHTAnalyzer::outfile_
private

Definition at line 98 of file JetHTAnalyzer.cc.

Referenced by beginJob().

◆ printTriggerTable_

int JetHTAnalyzer::printTriggerTable_
private

Definition at line 91 of file JetHTAnalyzer.cc.

Referenced by analyze().

◆ profilePtBorders_

std::vector<double> JetHTAnalyzer::profilePtBorders_
private

Definition at line 95 of file JetHTAnalyzer.cc.

Referenced by analyze(), and beginJob().

◆ pvsTag_

edm::InputTag JetHTAnalyzer::pvsTag_
private

Definition at line 82 of file JetHTAnalyzer.cc.

◆ pvsToken_

edm::EDGetTokenT<reco::VertexCollection> JetHTAnalyzer::pvsToken_
private

Definition at line 83 of file JetHTAnalyzer.cc.

Referenced by analyze().

◆ tracksTag_

edm::InputTag JetHTAnalyzer::tracksTag_
private

Definition at line 85 of file JetHTAnalyzer.cc.

◆ tracksToken_

edm::EDGetTokenT<reco::TrackCollection> JetHTAnalyzer::tracksToken_
private

Definition at line 86 of file JetHTAnalyzer.cc.

Referenced by analyze().

◆ triggerTag_

edm::InputTag JetHTAnalyzer::triggerTag_
private

Definition at line 88 of file JetHTAnalyzer.cc.

◆ triggerToken_

edm::EDGetTokenT<edm::TriggerResults> JetHTAnalyzer::triggerToken_
private

Definition at line 89 of file JetHTAnalyzer.cc.

Referenced by analyze().