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
|
#ifndef RecoParticleFlow_Benchmark_METBenchmark_h
#define RecoParticleFlow_Benchmark_METBenchmark_h
#include "DQMOffline/PFTau/interface/Benchmark.h"
#include "DataFormats/METReco/interface/METFwd.h"
#include "DQMServices/Core/interface/DQMStore.h"
/// To plot MET quantities
class METBenchmark : public Benchmark {
public:
METBenchmark(Mode mode) : Benchmark(mode) {}
~METBenchmark() override;
/// book histograms
void setup(DQMStore::IBooker &b);
/// fill a collection
template <class C>
void fill(const C &candidates);
/// fill histograms with a given particle
void fillOne(const reco::MET &candidate);
protected:
TH1F *pt_;
TH1F *pt2_;
TH1F *px_;
TH1F *py_;
TH1F *phi_;
TH1F *sumEt_;
TH1F *sumEt2_;
TH1F *etOverSumEt_;
TH2F *mex_VS_sumEt_;
};
template <class C>
void METBenchmark::fill(const C &candCollection) {
for (unsigned int i = 0; i < candCollection.size(); ++i) {
const reco::MET &cand = candCollection[i];
fillOne(cand);
}
}
#endif
|