11 hypoClassKey_(cfg.getParameter<
std::
string>(
"hypoClassKey"))
89 if(topPair && genTopPair)
97 if(hadTop && genHadTop) {
102 if(lepW && genLepW) {
108 if(lepTop && genLepTop) {
113 if(neutrino && genNeutrino)
123 if(hadTop && genHadTop) {
140 neutrinoEta_ = fs->
make<TH1F>(
"neutrinoEta",
"#eta (neutrino)", 21, -4., 4.);
141 neutrinoPullEta_ = fs->
make<TH1F>(
"neutrinoPullEta",
"(#eta_{rec}-#eta_{gen})/#eta_{gen} (neutrino)", 40, -1., 1.);
143 hadWPt_ = fs->
make<TH1F>(
"hadWPt" ,
"p_{T} (W_{had}) [GeV]", 25, 0., 500.);
144 hadWEta_ = fs->
make<TH1F>(
"hadWEta" ,
"#eta (W_{had})" , 21, -4., 4.);
145 hadWMass_ = fs->
make<TH1F>(
"hadWMass",
"M (W_{had}) [GeV]" , 25, 0., 200.);
147 hadTopPt_ = fs->
make<TH1F>(
"hadTopPt" ,
"p_{T} (t_{had}) [GeV]", 25, 0. , 500.);
148 hadTopEta_ = fs->
make<TH1F>(
"hadTopEta" ,
"#eta (t_{had})" , 21, -4., 4.);
149 hadTopMass_ = fs->
make<TH1F>(
"hadTopMass",
"M (t_{had}) [GeV]" , 40, 0. , 400.);
151 lepWPt_ = fs->
make<TH1F>(
"lepWPt" ,
"p_{t} (W_{lep}) [GeV]", 25, 0., 500.);
152 lepWEta_ = fs->
make<TH1F>(
"lepWEta" ,
"#eta (W_{lep})" , 21, -4., 4.);
153 lepWMass_ = fs->
make<TH1F>(
"lepWMass",
"M (W_{lep}) [GeV]" , 25, 0., 200.);
155 lepTopPt_ = fs->
make<TH1F>(
"lepTopPt" ,
"p_{T} (t_{lep}) [GeV]", 25, 0. , 500.);
156 lepTopEta_ = fs->
make<TH1F>(
"lepTopEta" ,
"#eta (t_{lep})" , 21, -4., 4.);
157 lepTopMass_ = fs->
make<TH1F>(
"lepTopMass",
"M (t_{lep}) [GeV]" , 40, 0. , 400.);
159 hadWPullPt_ = fs->
make<TH1F>(
"hadWPullPt" ,
"(p_{T,rec}-p_{T,gen})/p_{T,gen} (W_{had})" , 40, -1., 1.);
160 hadWPullEta_ = fs->
make<TH1F>(
"hadWPullEta" ,
"(#eta_{rec}-#eta_{gen})/#eta_{gen} (W_{had})", 40, -1., 1.);
161 hadWPullMass_ = fs->
make<TH1F>(
"hadWPullMass",
"(M_{rec}-M_{gen})/M_{gen} (W_{had})" , 40, -1., 1.);
163 hadTopPullPt_ = fs->
make<TH1F>(
"hadTopPullPt" ,
"(p_{T,rec}-p_{T,gen})/p_{T,gen} (t_{had})" , 40, -1., 1.);
164 hadTopPullEta_ = fs->
make<TH1F>(
"hadTopPullEta" ,
"(#eta_{rec}-#eta_{gen})/#eta_{gen} (t_{had})", 40, -1., 1.);
165 hadTopPullMass_ = fs->
make<TH1F>(
"hadTopPullMass",
"(M_{rec}-M_{gen})/M_{gen} (t_{had})" , 40, -1., 1.);
167 lepWPullPt_ = fs->
make<TH1F>(
"lepWPullPt" ,
"(p_{T,rec}-p_{T,gen})/p_{T,gen} (W_{lep})" , 40, -1., 1.);
168 lepWPullEta_ = fs->
make<TH1F>(
"lepWPullEta" ,
"(#eta_{rec}-#eta_{gen})/#eta_{gen} (W_{lep})", 40, -1., 1.);
169 lepWPullMass_ = fs->
make<TH1F>(
"lepWPullMass",
"(M_{rec}-M_{gen})/M_{gen} (W_{lep})" , 40, -1., 1.);
171 lepTopPullPt_ = fs->
make<TH1F>(
"lepTopPullPt" ,
"(p_{T,rec}-p_{T,gen})/p_{T,gen} (t_{lep})" , 40, -1., 1.);
172 lepTopPullEta_ = fs->
make<TH1F>(
"lepTopPullEta" ,
"(#eta_{rec}-#eta_{gen})/#eta_{gen} (t_{lep})", 40, -1., 1.);
173 lepTopPullMass_ = fs->
make<TH1F>(
"lepTopPullMass",
"(M_{rec}-M_{gen})/M_{gen} (t_{lep})" , 40, -1., 1.);
175 topPairMass_ = fs->
make<TH1F>(
"topPairMass",
"M (t#bar{t})", 36, 340., 940.);
176 topPairPullMass_ = fs->
make<TH1F>(
"topPairPullMass",
"(M_{rec}-M_{gen})/M_{gen} (t#bar{t})", 40, -1., 1.);
178 genMatchDr_ = fs->
make<TH1F>(
"genMatchDr",
"GenMatch #Sigma#DeltaR", 40, 0., 4.);
179 kinFitProb_ = fs->
make<TH1F>(
"kinFitProb",
"KinFit probability" , 50, 0., 1.);
182 "GenMatch #Sigma #Delta R vs. (M_{rec}-M_{gen})/M_{gen} (t_{had}))",
183 40, -1., 1., 40, 0., 4.);
185 "KinFit probability vs. (M_{rec}-M_{gen})/M_{gen} (t_{had}))",
186 40, -1., 1., 20, 0., 1.);
const reco::Candidate * leptonicDecayW(const std::string &key, const unsigned &cmb=0) const
get leptonic W of the given hypothesis
virtual void analyze(const edm::Event &, const edm::EventSetup &)
TH2F * kinFitProbVsHadTopPullMass_
const std::string hypoClassKey_
const reco::Candidate * hadronicDecayW(const std::string &key, const unsigned &cmb=0) const
get hadronic W of the given hypothesis
const reco::Candidate * hadronicDecayTop(const std::string &key, const unsigned &cmb=0) const
get hadronic top of the given hypothesis
Class derived from the TtEvent for the semileptonic decay channel.
def setup(process, global_tag, zero_tesla=False)
T * make(const Args &...args) const
make new ROOT object
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
double genMatchSumDR(const unsigned &cmb=0) const
return the sum dr of the generator match if available; -1 else
const edm::EDGetTokenT< TtSemiLeptonicEvent > semiLepEvtToken_
const reco::Candidate * leptonicDecayTop(const std::string &key, const unsigned &cmb=0) const
get leptonic top of the given hypothesis
HypothesisAnalyzer(const edm::ParameterSet &)
virtual double eta() const =0
momentum pseudorapidity
virtual double pt() const =0
transverse momentum
virtual double mass() const =0
mass
double fitProb(const unsigned &cmb=0) const
return the fit probability of hypothesis 'cmb' if available; -1 else
bool isHypoValid(const std::string &key, const unsigned &cmb=0) const
check if hypothesis 'cmb' within the hypothesis class was valid; if not it lead to an empty Composite...
const reco::Candidate * topPair(const std::string &key, const unsigned &cmb=0) const
get combined 4-vector of top and topBar of the given hypothesis
TH2F * genMatchDrVsHadTopPullMass_
const reco::Candidate * singleNeutrino(const std::string &key, const unsigned &cmb=0) const
get leptonic light quark of the given hypothesis