#include <MNjets.h>
◆ DEtaDPhiFiller()
Constructor.
17 ,
rEv(reader,
"recEvent")
◆ fillMC()
See Filler::fillMC
Reimplemented from Filler.
94 BOOST_THROW_EXCEPTION( runtime_error(__func__ +
" should only be called for MC"s) );
97 double recW =
rEv->Weight(v);
98 if (irec > 0) recW *=
recMNjets.Weight(v);
101 double genW = (*gEv)->Weight(v);
102 if (igen > 0) genW *=
genMNjets.Weight(v);
104 if (igen > 0) v.gen->Fill(igen, genW);
107 if (irec > 0 && igen > 0) { v.RM->Fill(igen, irec, genW * recW );
108 v.missNoMatch->Fill(igen, genW * (1-recW)); }
109 else if (irec == 0 && igen > 0) v.missOut->Fill(igen, genW );
110 else if (irec > 0 && igen == 0) v.fakeOut->Fill( irec, genW * recW );
113 if (igen > 0) v.missNoMatch->Fill(igen, genW );
114 if (irec > 0) v.fakeNoMatch->Fill(irec, genW * recW);
◆ fillRec()
◆ match()
Check if the MN jets can be matched at both levels.
- Todo:
- is
optional
necessary? (taken from MjjYmax...)
Reimplemented from Filler.
81 using ROOT::Math::VectorUtil::DeltaR;
◆ genJets
std::optional<TTreeReaderArray<GenJet> > genJets |
◆ genMNjets
◆ gEv
std::optional<TTreeReaderValue<GenEvent> > gEv |
◆ matched
std::optional<bool> matched |
◆ obs
Backreference to the observable.
◆ recJets
TTreeReaderArray<RecJet> recJets |
◆ recMNjets
◆ rEv
The documentation for this struct was generated from the following files:
- /builds/cms-analysis/general/DasAnalysisSystem/Core/Installer/Core/Unfolding/interface/MNjets.h
- /builds/cms-analysis/general/DasAnalysisSystem/Core/Installer/Core/Unfolding/src/MNjets.cc