1 |
amagnan |
1.1 |
#include <iostream>
|
2 |
|
|
#include <fstream>
|
3 |
|
|
|
4 |
|
|
#include "FWCore/MessageLogger/interface/MessageLogger.h"
|
5 |
|
|
|
6 |
|
|
#include "DataFormats/METReco/interface/GenMET.h"
|
7 |
|
|
|
8 |
|
|
#include "UserCode/HbbAnalysis/interface/HistosMET.hh"
|
9 |
|
|
|
10 |
|
|
namespace HbbAnalysis {//namespace
|
11 |
|
|
|
12 |
amagnan |
1.2 |
void HistosMET::FillEventHistograms(const edm::Handle<std::vector<pat::MET> > & aCol)
|
13 |
amagnan |
1.1 |
{
|
14 |
|
|
assert(aCol->size() == 1);
|
15 |
|
|
const pat::MET & lMet = *(aCol->begin());
|
16 |
|
|
|
17 |
|
|
p_MET->Fill(lMet.pt());
|
18 |
|
|
p_MEx->Fill(lMet.px());
|
19 |
|
|
p_MEy->Fill(lMet.py());
|
20 |
|
|
p_SumET->Fill(lMet.sumEt());
|
21 |
|
|
p_phi->Fill(lMet.phi());
|
22 |
|
|
p_mEtSig->Fill(lMet.mEtSig());
|
23 |
|
|
|
24 |
|
|
const reco::GenMET *lGenMET = lMet.genMET();
|
25 |
|
|
|
26 |
|
|
if (lGenMET){
|
27 |
|
|
p_genMET_MET->Fill(lGenMET->pt());
|
28 |
|
|
p_genMET_MEx->Fill(lGenMET->px());
|
29 |
|
|
p_genMET_MEy->Fill(lGenMET->py());
|
30 |
|
|
p_genMET_SumET->Fill(lGenMET->sumEt());
|
31 |
|
|
p_genMET_phi->Fill(lGenMET->phi());
|
32 |
|
|
p_genMET_mEtSig->Fill(lGenMET->mEtSig());
|
33 |
|
|
|
34 |
|
|
if (lGenMET->pt()) p_RecoOverGen_MET->Fill(lMet.pt()/lGenMET->pt());
|
35 |
|
|
if (lGenMET->px()) p_RecoOverGen_MEx->Fill(lMet.px()/lGenMET->px());
|
36 |
|
|
if (lGenMET->py()) p_RecoOverGen_MEy->Fill(lMet.py()/lGenMET->py());
|
37 |
|
|
if (lGenMET->sumEt()) p_RecoOverGen_SumET->Fill(lMet.sumEt()/lGenMET->sumEt());
|
38 |
|
|
}
|
39 |
|
|
|
40 |
|
|
|
41 |
|
|
}
|
42 |
|
|
|
43 |
|
|
}//namespace
|
44 |
|
|
|
45 |
|
|
|