File indexing completed on 2024-04-06 12:31:21
0001
0002 #include "TopQuarkAnalysis/TopJetCombination/interface/TtHadLRJetCombObservables.h"
0003
0004
0005 TtHadLRJetCombObservables::TtHadLRJetCombObservables() {}
0006
0007 TtHadLRJetCombObservables::~TtHadLRJetCombObservables() {}
0008
0009 void TtHadLRJetCombObservables::operator()(TtHadEvtSolution& sol) {
0010 jetCombVarVal.clear();
0011
0012
0013
0014 double AverageTop = ((sol.getHadb().p4() + sol.getHadq().p4() + sol.getHadp().p4()).pt() +
0015 (sol.getHadbbar().p4() + sol.getHadq().p4() + sol.getHadp().p4()).pt() +
0016 (sol.getHadb().p4() + sol.getHadbbar().p4() + sol.getHadp().p4()).pt() +
0017 (sol.getHadb().p4() + sol.getHadbbar().p4() + sol.getHadq().p4()).pt() +
0018 (sol.getHadb().p4() + sol.getHadk().p4() + sol.getHadj().p4()).pt() +
0019 (sol.getHadbbar().p4() + sol.getHadk().p4() + sol.getHadj().p4()).pt() +
0020 (sol.getHadb().p4() + sol.getHadbbar().p4() + sol.getHadj().p4()).pt() +
0021 (sol.getHadb().p4() + sol.getHadbbar().p4() + sol.getHadk().p4()).pt() +
0022 (sol.getHadb().p4() + sol.getHadq().p4() + sol.getHadj().p4()).pt() +
0023 (sol.getHadb().p4() + sol.getHadq().p4() + sol.getHadk().p4()).pt() +
0024 (sol.getHadbbar().p4() + sol.getHadq().p4() + sol.getHadj().p4()).pt() +
0025 (sol.getHadbbar().p4() + sol.getHadq().p4() + sol.getHadk().p4()).pt()) /
0026 12.;
0027
0028 double Obs1 = ((sol.getHadb().p4() + sol.getHadq().p4() + sol.getHadp().p4() + sol.getHadbbar().p4() +
0029 sol.getHadk().p4() + sol.getHadj().p4())
0030 .pt()) /
0031 AverageTop;
0032 jetCombVarVal.push_back(std::pair<unsigned int, double>(1, Obs1));
0033
0034
0035 double obs2 = (sol.getHadb().pt() + sol.getHadbbar().pt()) /
0036 (sol.getHadp().pt() + sol.getHadq().pt() + sol.getHadj().pt() + sol.getHadk().pt());
0037 jetCombVarVal.push_back(std::pair<unsigned int, double>(2, obs2));
0038
0039
0040 double Obs3 = ROOT::Math::VectorUtil::DeltaR(sol.getHadb().p4(), (sol.getHadq().p4() + sol.getHadp().p4()));
0041 jetCombVarVal.push_back(std::pair<unsigned int, double>(3, Obs3));
0042
0043 double Obs4 = ROOT::Math::VectorUtil::DeltaR(sol.getHadbbar().p4(), (sol.getHadk().p4() + sol.getHadj().p4()));
0044 jetCombVarVal.push_back(std::pair<unsigned int, double>(4, Obs4));
0045
0046
0047 double Obs5 = ROOT::Math::VectorUtil::DeltaR(sol.getHadq().p4(), sol.getHadp().p4());
0048 jetCombVarVal.push_back(std::pair<unsigned int, double>(5, Obs5));
0049
0050 double Obs6 = ROOT::Math::VectorUtil::DeltaR(sol.getHadk().p4(), sol.getHadj().p4());
0051 jetCombVarVal.push_back(std::pair<unsigned int, double>(6, Obs6));
0052
0053
0054 double Obs7 = 0;
0055 if (fabs(sol.getHadb().bDiscriminator("trackCountingJetTags") + 10) < 0.0001 ||
0056 fabs(sol.getHadbbar().bDiscriminator("trackCountingJetTags") + 10) < 0.0001) {
0057 Obs7 = -10.;
0058 } else {
0059 Obs7 = (sol.getHadb().bDiscriminator("trackCountingJetTags") +
0060 sol.getHadbbar().bDiscriminator("trackCountingJetTags"));
0061 }
0062 jetCombVarVal.push_back(std::pair<unsigned int, double>(7, Obs7));
0063
0064
0065 double Obs8 = 0;
0066 if (sol.getProbChi2() < 0) {
0067 Obs8 = -0;
0068 } else {
0069 Obs8 = log10(sol.getProbChi2() + .00001);
0070 }
0071 jetCombVarVal.push_back(std::pair<unsigned int, double>(8, Obs8));
0072
0073 sol.setLRJetCombObservables(jetCombVarVal);
0074 }