Loading [MathJax]/extensions/tex2jax.js
 |
ATLAS Offline Software
|
#include <MissingMassCalculator.h>
|
| ~MissingMassCalculator () |
|
| MissingMassCalculator (MMCCalibrationSet::e aset, std::string paramFilePath) |
|
| MissingMassCalculator (const MissingMassCalculator &)=delete |
|
MissingMassCalculator & | operator= (const MissingMassCalculator &)=delete |
|
int | RunMissingMassCalculator (const xAOD::IParticle *part1, const xAOD::IParticle *part2, const xAOD::MissingET *met, const int &njets) |
|
void | FinalizeSettings (const xAOD::IParticle *part1, const xAOD::IParticle *part2, const xAOD::MissingET *met, const int &njets) |
|
void | SetNiterFit1 (const int val) |
|
void | SetNiterFit2 (const int val) |
|
void | SetNiterFit3 (const int val) |
|
void | SetNiterRandom (const int val) |
|
void | SetNsucStop (const int val) |
|
void | SetRMSStop (const int val) |
|
void | SetMeanbinStop (const double val) |
|
void | SetRndmSeedAltering (const int val) |
|
void | SetdTheta3d_binMax (const double val) |
|
void | SetdTheta3d_binMin (const double val) |
|
void | SetEventNumber (const int eventNumber) |
|
void | SetMnuScanRange (const double val) |
|
void | SetProposalTryMEt (const double val) |
|
void | SetProposalTryPhi (const double val) |
|
void | SetProposalTryMnu (const double val) |
|
void | SetProposalTryEtau (const double val) |
|
void | SetUseEfficiencyRecovery (const bool val) |
|
bool | GetUseEfficiencyRecovery () const |
|
int | GetNiterFit1 () const |
|
int | GetNiterFit2 () const |
|
int | GetNiterFit3 () const |
|
int | GetNiterRandom () const |
|
int | GetNsucStop () const |
|
int | GetRMSStop () const |
|
double | GetMeanbinStop () const |
|
int | GetRndmSeedAltering () const |
|
int | GetMarkovCountDuplicate () const |
|
int | GetMarkovNRejectNoSol () const |
|
int | GetMarkovNRejectMetropolis () const |
|
int | GetMarkovNAccept () const |
|
int | GetMarkovNFullscan () const |
|
double | GetProposalTryMEt () const |
|
double | GetProposalTryPhi () const |
|
double | GetProposalTryMnu () const |
|
double | GetProposalTryEtau () const |
|
void | SetNsigmaMETscan_ll (const double val) |
|
void | SetNsigmaMETscan_lh (const double val) |
|
void | SetNsigmaMETscan_hh (const double val) |
|
void | SetNsigmaMETscan (const double val) |
|
void | SetUseFloatStopping (const bool val) |
|
void | SetBeamEnergy (const double val) |
|
void | SetLFVLeplepRefit (const bool val) |
|
void | SaveLlhHisto (const bool val) |
|
double | GetmMaxError () const |
|
double | GetmMeanError () const |
|
double | GetmInvWidth2Error () const |
|
int | GetNNoSol () const |
|
int | GetNMetroReject () const |
|
int | GetNSol () const |
|
Double_t | maxFitting (Double_t *x, Double_t *par) |
|
double | maxFromHist (TH1F *theHist, std::vector< double > &histInfo, const MaxHistStrategy::e maxHistStrategy=MaxHistStrategy::FIT, const int winHalfWidth=2, bool debug=false) |
|
double | maxFromHist (const std::shared_ptr< TH1F > &theHist, std::vector< double > &histInfo, const MaxHistStrategy::e maxHistStrategy=MaxHistStrategy::FIT, const int winHalfWidth=2, bool debug=false) |
|
double | dTheta3DLimit (const int &tau_type, const int &limit_code, const double &P_tau) |
|
|
int | CheckSolutions (PtEtaPhiMVector nu_vec, PtEtaPhiMVector vis_vec, int decayType) |
|
int | TailCleanUp (const PtEtaPhiMVector &vis1, const PtEtaPhiMVector &nu1, const PtEtaPhiMVector &vis2, const PtEtaPhiMVector &nu2, const double &mmc_mass, const double &vis_mass, const double &eff_mass, const double &dphiTT) |
|
int | refineSolutions (const double &M_nu1, const double &M_nu2, const int nsol1, const int nsol2, const double &Mvis, const double &Meff) |
|
void | handleSolutions () |
|
double | MassScale (int method, double mass, const int &tau_type1, const int &tau_type2) |
|
int | DitauMassCalculatorV9walk () |
|
int | DitauMassCalculatorV9lfv (bool refit) |
|
int | probCalculatorV9fast (const double &phi1, const double &phi2, const double &M_nu1, const double &M_nu2) |
|
void | SpaceWalkerInit () |
|
bool | SpaceWalkerWalk () |
|
bool | precomputeCache () |
|
bool | checkMEtInRange () |
|
bool | checkAllParamInRange () |
|
Definition at line 46 of file MissingMassCalculator.h.
◆ ~MissingMassCalculator()
MissingMassCalculator::~MissingMassCalculator |
( |
| ) |
|
◆ MissingMassCalculator() [1/2]
MissingMassCalculator::MissingMassCalculator |
( |
MMCCalibrationSet::e |
aset, |
|
|
std::string |
paramFilePath |
|
) |
| |
Definition at line 41 of file MissingMassCalculator.cxx.
124 float hEmax = 3000.0;
134 m_fMfit_all = std::make_shared<TH1F>(
"MMC_h1",
"M", hNbins, 0.0,
141 std::make_shared<TH1F>(
"MMC_h1NoW",
"M no weight", hNbins, 0.0, hEmax);
143 m_fPXfit1 = std::make_shared<TH1F>(
"MMC_h2",
"Px1", 4 * hNbins, -hEmax,
145 m_fPYfit1 = std::make_shared<TH1F>(
"MMC_h3",
"Py1", 4 * hNbins, -hEmax,
147 m_fPZfit1 = std::make_shared<TH1F>(
"MMC_h4",
"Pz1", 4 * hNbins, -hEmax,
149 m_fPXfit2 = std::make_shared<TH1F>(
"MMC_h5",
"Px2", 4 * hNbins, -hEmax,
151 m_fPYfit2 = std::make_shared<TH1F>(
"MMC_h6",
"Py2", 4 * hNbins, -hEmax,
153 m_fPZfit2 = std::make_shared<TH1F>(
"MMC_h7",
"Pz2", 4 * hNbins, -hEmax,
170 m_fFitting->SetParNames(
"Max",
"Mean",
"InvWidth2");
◆ MissingMassCalculator() [2/2]
◆ checkAllParamInRange()
bool MissingMassCalculator::checkAllParamInRange |
( |
| ) |
|
|
inlineprotected |
◆ checkMEtInRange()
bool MissingMassCalculator::checkMEtInRange |
( |
| ) |
|
|
inlineprotected |
◆ CheckSolutions()
int DiTauMassTools::MissingMassCalculator::CheckSolutions |
( |
PtEtaPhiMVector |
nu_vec, |
|
|
PtEtaPhiMVector |
vis_vec, |
|
|
int |
decayType |
|
) |
| |
|
inlineprotected |
◆ ClearDitauStuff()
void MissingMassCalculator::ClearDitauStuff |
( |
DitauStuff & |
fStuff | ) |
|
|
private |
Definition at line 281 of file MissingMassCalculator.cxx.
282 fStuff.Mditau_best = 0.0;
283 fStuff.Sign_best = 1.0E6;
284 fStuff.nutau1 = PtEtaPhiMVector(0., 0., 0., 0.);
285 fStuff.nutau2 = PtEtaPhiMVector(0., 0., 0., 0.);
286 fStuff.vistau1 = PtEtaPhiMVector(0., 0., 0., 0.);
287 fStuff.vistau2 = PtEtaPhiMVector(0., 0., 0., 0.);
288 fStuff.RMSoverMPV = 0.0;
◆ DitauMassCalculatorV9lfv()
int MissingMassCalculator::DitauMassCalculatorV9lfv |
( |
bool |
refit | ) |
|
|
inlineprotected |
Definition at line 1004 of file MissingMassCalculator.cxx.
1019 const double Mtau = 1.777;
1039 double METresX_binSize = 2 * N_METsigma * METresX / NiterMET;
1040 double METresY_binSize = 2 * N_METsigma * METresY / NiterMET;
1044 std::vector<PtEtaPhiMVector> nu_vec;
1049 double metprob = 1.0;
1050 double sign_tmp = 0.0;
1051 double tauprob = 1.0;
1052 double totalProb = 0.0;
1056 double met_smear_x = 0.0;
1057 double met_smear_y = 0.0;
1058 double met_smearL = 0.0;
1059 double met_smearP = 0.0;
1061 double angle1 = 0.0;
1101 Info(
"DiTauMassTools",
"Running in dilepton mode");
1106 PtEtaPhiMVector tau_tmp(0.0, 0.0, 0.0, 0.0);
1107 PtEtaPhiMVector lep_tmp(0.0, 0.0, 0.0, 0.0);
1147 double Mlep = tau_tmp.M();
1154 double MnuProb = 1.0;
1156 for (
int i3 = 0; i3 < NiterMnu; i3++)
1158 M_nu = Mnu_binSize * i3;
1159 if (M_nu >= (Mtau - Mlep))
1165 for (
int i4 = 0; i4 < NiterMET + 1; i4++)
1167 met_smearL = METresX_binSize * i4 - N_METsigma * METresX;
1168 for (
int i5 = 0; i5 < NiterMET + 1; i5++)
1170 met_smearP = METresY_binSize * i5 - N_METsigma * METresY;
1171 if (
pow(met_smearL / METresX, 2) +
pow(met_smearP / METresY, 2) >
pow(N_METsigma, 2))
1173 met_smear_x = met_smearL * met_coscovphi - met_smearP * met_sincovphi;
1174 met_smear_y = met_smearL * met_sincovphi + met_smearP * met_coscovphi;
1175 metvec_tmp.SetXY(input_metX + met_smear_x, input_metY + met_smear_y);
1193 for (
unsigned int j1 = 0;
j1 < nu_vec.size();
j1++) {
1196 const double tau1_tmpp = (tau_tmp + nu_vec[
j1]).
P();
1197 angle1 =
Angle(nu_vec[
j1], tau_tmp);
1207 double tauvecprob1j =
1209 if (tauvecprob1j == 0.)
1212 totalProb = tauvecprob1j * metprob * MnuProb * tauprob;
1229 m_fPXfit1->Fill((tau_tmp + nu_vec[
j1]).Px(), totalProb);
1230 m_fPYfit1->Fill((tau_tmp + nu_vec[
j1]).Py(), totalProb);
1231 m_fPZfit1->Fill((tau_tmp + nu_vec[
j1]).Pz(), totalProb);
1235 sign_tmp = -log10(totalProb);
1259 Info(
"DiTauMassTools",
"Running in lepton+tau mode");
1285 PtEtaPhiMVector tau_tmp(0.0, 0.0, 0.0, 0.0);
1286 PtEtaPhiMVector lep_tmp(0.0, 0.0, 0.0, 0.0);
1300 for (
int i4 = 0; i4 < NiterMET + 1; i4++)
1302 met_smearL = METresX_binSize * i4 - N_METsigma * METresX;
1303 for (
int i5 = 0; i5 < NiterMET + 1; i5++)
1305 met_smearP = METresY_binSize * i5 - N_METsigma * METresY;
1306 if (
pow(met_smearL / METresX, 2) +
pow(met_smearP / METresY, 2) >
pow(N_METsigma, 2))
1310 metvec_tmp.SetXY(input_metX + met_smear_x, input_metY + met_smear_y);
1328 for (
unsigned int j1 = 0;
j1 < nu_vec.size();
j1++) {
1331 const double tau1_tmpp = (tau_tmp + nu_vec[
j1]).
P();
1332 angle1 =
Angle(nu_vec[
j1], tau_tmp);
1342 double tauvecprob1j =
1344 if (tauvecprob1j == 0.)
1347 totalProb = tauvecprob1j * metprob * tauprob;
1370 sign_tmp = -log10(totalProb);
1396 Info(
"DiTauMassTools",
"Running in an unknown mode?!?!");
1403 Info(
"DiTauMassTools",
"%s",
1425 if (prob_hist != 0.0)
1443 PxPyPzMVector nu1_tmp(0.0, 0.0, 0.0, 0.0);
1444 PxPyPzMVector nu2_tmp(0.0, 0.0, 0.0, 0.0);
1447 nu2_tmp.SetCoordinates(Px1, Py1, Pz1, 1.777);
1451 nu1_tmp.SetCoordinates(Px1, Py1, Pz1, 1.777);
1464 if (fit_code == 0) {
1466 "DiTauMassTools",
"%s",
1467 (
"!!!----> Warning-3 in MissingMassCalculator::DitauMassCalculatorV9lfv() : fit status=" +
1470 Info(
"DiTauMassTools",
"....... No solution is found. Printing input info .......");
1482 Info(
"DiTauMassTools",
" ---------------------------------------------------------- ");
◆ DitauMassCalculatorV9walk()
int MissingMassCalculator::DitauMassCalculatorV9walk |
( |
| ) |
|
|
inlineprotected |
Definition at line 782 of file MissingMassCalculator.cxx.
835 XYVector deltamet_vec;
842 bool paramInsideRange =
false;
861 if (paramInsideRange)
885 if (nsuccesses > 0) {
891 double Px1, Py1, Pz1;
892 double Px2, Py2, Pz2;
893 if (nsuccesses > 0) {
914 if (prob_hist != 0.0)
938 PxPyPzMVector fulltau1, fulltau2;
939 fulltau1.SetCoordinates(Px1, Py1, Pz1, 1.777);
940 fulltau2.SetCoordinates(Px2, Py2, Pz2, 1.777);
960 Info(
"DiTauMassTools",
"Scanning ");
961 Info(
"DiTauMassTools",
" Markov ");
962 Info(
"DiTauMassTools",
"%s",
968 Info(
"DiTauMassTools",
"%s",
975 Info(
"DiTauMassTools",
"%s", (
"!!!----> Warning-3 in "
976 "MissingMassCalculator::DitauMassCalculatorV9Walk() : fit status=" +
979 Info(
"DiTauMassTools",
"%s",
"....... No solution is found. Printing input info .......");
997 Info(
"DiTauMassTools",
" ---------------------------------------------------------- ");
◆ DoOutputInfo()
void MissingMassCalculator::DoOutputInfo |
( |
| ) |
|
|
private |
Definition at line 296 of file MissingMassCalculator.cxx.
299 Info(
"DiTauMassTools",
"Retrieving output from fDitauStuffFit");
304 double q1 = (1. - 0.68) / 2.;
331 PtEtaPhiMVector tlvdummy(0., 0., 0., 0.);
332 XYVector metdummy(0., 0.);
373 PtEtaPhiMVector dummy_vec1(0.0, 0.0, 0.0, 0.0);
374 PtEtaPhiMVector dummy_vec2(0.0, 0.0, 0.0, 0.0);
375 for (
int i = 0;
i < 3;
i++) {
◆ dTheta3DLimit()
double MissingMassCalculator::dTheta3DLimit |
( |
const int & |
tau_type, |
|
|
const int & |
limit_code, |
|
|
const double & |
P_tau |
|
) |
| |
|
inline |
Definition at line 2713 of file MissingMassCalculator.cxx.
2716 #ifndef WITHDTHETA3DLIM
2718 if (limit_code == 0)
2720 if (limit_code == 1)
2722 if (limit_code == 2)
2727 if (limit_code == 0)
2729 double par[3] = {0.0, 0.0, 0.0};
2731 if (tau_type == 8) {
2732 if (limit_code == 0)
2738 if (limit_code == 1)
2744 if (limit_code == 2)
2752 if (tau_type >= 0 && tau_type <= 2) {
2753 if (limit_code == 0)
2757 par[2] = -0.0004859;
2759 if (limit_code == 1)
2765 if (limit_code == 2)
2773 if (tau_type >= 3 && tau_type <= 5) {
2774 if (limit_code == 0)
2778 par[2] = -0.0009458;
2780 if (limit_code == 1)
2786 if (limit_code == 2)
2794 if (std::abs(P_tau +
par[1]) > 0.0)
2796 if (limit_code == 0) {
2799 }
else if (
limit > 0.03) {
2803 if (limit < 0.0 || limit > 0.5 * TMath::Pi()) {
2804 limit = 0.5 * TMath::Pi();
2805 }
else if (limit < 0.05 && limit > 0.0) {
◆ FinalizeSettings()
Definition at line 2817 of file MissingMassCalculator.cxx.
2821 const double GEV = 1000.;
2835 if (LFVMode == -1) {
2837 }
else if (LFVMode != -2) {
2849 PtEtaPhiMVector fixedtau1;
2850 fixedtau1.SetCoordinates(tlvTau1.Pt() /
GEV, tlvTau1.Eta(), tlvTau1.Phi(), tlvTau1.M() /
GEV);
2851 PtEtaPhiMVector fixedtau2;
2852 fixedtau2.SetCoordinates(tlvTau2.Pt() /
GEV, tlvTau2.Eta(), tlvTau2.Phi(), tlvTau2.M() /
GEV);
2859 if (mmcType1 == 8 && mmcType2 == 8) {
2861 }
else if (mmcType1 >= 0 && mmcType1 <= 5 && mmcType2 >= 0 && mmcType2 <= 5) {
2877 Error(
"DiTauMassTools",
"MMCCalibrationSet has not been set !. Please use "
2878 "fMMC.SetCalibrationSet(MMCCalibrationSet::MMC2019) or fMMC.SetCalibrationSet(MMCCalibrationSet::MMC2024)"
2920 Info(
"DiTauMassTools",
"correcting sumET");
3018 Info(
"DiTauMassTools",
"Substracting pt1 from sumEt");
3025 Info(
"DiTauMassTools",
"Substracting pt2 from sumEt");
3068 double HtOffset = 0.;
3073 HtOffset = 87.5 - 27.0 *
x;
◆ GetMarkovCountDuplicate()
int DiTauMassTools::MissingMassCalculator::GetMarkovCountDuplicate |
( |
| ) |
const |
|
inline |
◆ GetMarkovNAccept()
int DiTauMassTools::MissingMassCalculator::GetMarkovNAccept |
( |
| ) |
const |
|
inline |
◆ GetMarkovNFullscan()
int DiTauMassTools::MissingMassCalculator::GetMarkovNFullscan |
( |
| ) |
const |
|
inline |
◆ GetMarkovNRejectMetropolis()
int DiTauMassTools::MissingMassCalculator::GetMarkovNRejectMetropolis |
( |
| ) |
const |
|
inline |
◆ GetMarkovNRejectNoSol()
int DiTauMassTools::MissingMassCalculator::GetMarkovNRejectNoSol |
( |
| ) |
const |
|
inline |
◆ GetMeanbinStop()
double DiTauMassTools::MissingMassCalculator::GetMeanbinStop |
( |
| ) |
const |
|
inline |
◆ GetmInvWidth2Error()
double DiTauMassTools::MissingMassCalculator::GetmInvWidth2Error |
( |
| ) |
const |
|
inline |
◆ GetmMaxError()
double DiTauMassTools::MissingMassCalculator::GetmMaxError |
( |
| ) |
const |
|
inline |
◆ GetmMeanError()
double DiTauMassTools::MissingMassCalculator::GetmMeanError |
( |
| ) |
const |
|
inline |
◆ GetNiterFit1()
int DiTauMassTools::MissingMassCalculator::GetNiterFit1 |
( |
| ) |
const |
|
inline |
◆ GetNiterFit2()
int DiTauMassTools::MissingMassCalculator::GetNiterFit2 |
( |
| ) |
const |
|
inline |
◆ GetNiterFit3()
int DiTauMassTools::MissingMassCalculator::GetNiterFit3 |
( |
| ) |
const |
|
inline |
◆ GetNiterRandom()
int DiTauMassTools::MissingMassCalculator::GetNiterRandom |
( |
| ) |
const |
|
inline |
◆ GetNMetroReject()
int DiTauMassTools::MissingMassCalculator::GetNMetroReject |
( |
| ) |
const |
|
inline |
◆ GetNNoSol()
int DiTauMassTools::MissingMassCalculator::GetNNoSol |
( |
| ) |
const |
|
inline |
◆ GetNSol()
int DiTauMassTools::MissingMassCalculator::GetNSol |
( |
| ) |
const |
|
inline |
◆ GetNsucStop()
int DiTauMassTools::MissingMassCalculator::GetNsucStop |
( |
| ) |
const |
|
inline |
◆ GetProposalTryEtau()
double DiTauMassTools::MissingMassCalculator::GetProposalTryEtau |
( |
| ) |
const |
|
inline |
◆ GetProposalTryMEt()
double DiTauMassTools::MissingMassCalculator::GetProposalTryMEt |
( |
| ) |
const |
|
inline |
◆ GetProposalTryMnu()
double DiTauMassTools::MissingMassCalculator::GetProposalTryMnu |
( |
| ) |
const |
|
inline |
◆ GetProposalTryPhi()
double DiTauMassTools::MissingMassCalculator::GetProposalTryPhi |
( |
| ) |
const |
|
inline |
◆ GetRMSStop()
int DiTauMassTools::MissingMassCalculator::GetRMSStop |
( |
| ) |
const |
|
inline |
◆ GetRndmSeedAltering()
int DiTauMassTools::MissingMassCalculator::GetRndmSeedAltering |
( |
| ) |
const |
|
inline |
◆ GetUseEfficiencyRecovery()
bool DiTauMassTools::MissingMassCalculator::GetUseEfficiencyRecovery |
( |
| ) |
const |
|
inline |
◆ handleSolutions()
void MissingMassCalculator::handleSolutions |
( |
| ) |
|
|
inlineprotected |
Definition at line 2038 of file MissingMassCalculator.cxx.
2043 double totalProbSumSol = 0.;
2044 double totalProbSumSolOld = 0.;
2045 bool firstPointWithSol =
false;
2047 for (
int isol = 0; isol <
m_nsol; ++isol) {
2052 bool notSureToKeep =
true;
2056 notSureToKeep =
false;
2063 firstPointWithSol =
true;
2075 if (notSureToKeep) {
2078 for (
int isol = 0; isol <
m_nsolOld; ++isol) {
2084 if (!firstPointWithSol && totalProbSumSolOld <= 0.) {
2085 Error(
"DiTauMassTools",
"%s",
2086 (
" ERROR null old probability !!! " +
std::to_string(totalProbSumSolOld) +
" nsolOld " +
2090 }
else if (totalProbSumSol > totalProbSumSolOld) {
2095 }
else if (totalProbSumSol < totalProbSumSolOld * 1
E-6) {
2099 }
else if (
m_nsol <= 0) {
2106 reject = (uMC > totalProbSumSol / totalProbSumSolOld);
2131 bool fillSolution =
true;
2132 bool oldToBeUsed =
false;
2140 fillSolution =
false;
2154 if (!firstPointWithSol) {
2155 fillSolution =
true;
2158 fillSolution =
false;
2165 if (!fillSolution) {
2166 if (firstPointWithSol) {
2169 for (
int isol = 0; isol <
m_nsol; ++isol) {
2181 double solSum2 = 0.;
2183 for (
int isol = 0; isol <
m_nsol; ++isol) {
2187 const PtEtaPhiMVector *pnuvec1_tmpj;
2188 const PtEtaPhiMVector *pnuvec2_tmpj;
2201 const PtEtaPhiMVector &nuvec1_tmpj = *pnuvec1_tmpj;
2202 const PtEtaPhiMVector &nuvec2_tmpj = *pnuvec2_tmpj;
2205 solSum2 += mtautau * mtautau;
2227 if (mtautau != 0. &&
weight != 0.)
2292 for (
int isol = 0; isol <
m_nsol; ++isol) {
◆ MassScale()
double DiTauMassTools::MissingMassCalculator::MassScale |
( |
int |
method, |
|
|
double |
mass, |
|
|
const int & |
tau_type1, |
|
|
const int & |
tau_type2 |
|
) |
| |
|
inlineprotected |
◆ maxFitting()
Double_t MissingMassCalculator::maxFitting |
( |
Double_t * |
x, |
|
|
Double_t * |
par |
|
) |
| |
Definition at line 1489 of file MissingMassCalculator.cxx.
1493 const double mM =
x[0];
1494 const double mMax =
par[0];
1495 const double mMean =
par[1];
1496 const double mInvWidth2 =
par[2];
1498 const double fitval = mMax * (1 - 4 * mInvWidth2 *
std::pow(mM - mMean, 2));
◆ maxFromHist() [1/2]
◆ maxFromHist() [2/2]
Definition at line 1509 of file MissingMassCalculator.cxx.
1528 winHalfWidth == 0)) {
1532 int max_bin = theHist->GetMaximumBin();
1533 maxPos = theHist->GetBinCenter(max_bin);
1536 prob = theHist->GetBinContent(max_bin) /
double(theHist->GetEntries());
1543 int hNbins = theHist->GetNbinsX();
1548 int max_bin = theHist->GetMaximumBin();
1549 int iBinMin = max_bin - winHalfWidth;
1552 int iBinMax = max_bin + winHalfWidth;
1553 if (iBinMax > hNbins)
1554 iBinMax = hNbins - 1;
1557 for (
int iBin = iBinMin; iBin <= iBinMax; ++iBin) {
1558 const double weight = theHist->GetBinContent(iBin);
1560 sumx +=
weight * theHist->GetBinCenter(iBin);
1562 maxPos = sumx /
sumw;
1565 prob =
sumw / theHist->GetEntries();
1575 Error(
"DiTauMassTools",
"%s",
1576 (
"ERROR undefined maxHistStrategy:" +
std::to_string(maxHistStrategy)).c_str());
1582 int lastNonZeroBin = -1;
1583 int firstNonZeroBin = -1;
1584 double totalSumw = 0.;
1585 bool firstNullPart =
true;
1586 for (
int iBin = 0; iBin < hNbins; ++iBin) {
1587 const double weight = theHist->GetBinContent(iBin);
1590 lastNonZeroBin = iBin;
1591 if (firstNullPart) {
1592 firstNullPart =
false;
1593 firstNonZeroBin = iBin;
1600 firstNonZeroBin =
std::max(0, firstNonZeroBin - winHalfWidth - 1);
1601 lastNonZeroBin =
std::min(hNbins - 1, lastNonZeroBin + winHalfWidth + 1);
1610 const int nwidth = 2 * winHalfWidth + 1;
1613 for (
int ibin = 0; ibin < nwidth; ++ibin) {
1614 winsum += theHist->GetBinContent(ibin);
1616 double winmax = winsum;
1619 int iBinL = firstNonZeroBin;
1620 int iBinR = iBinL + 2 * winHalfWidth;
1621 bool goingUp =
true;
1626 const double deltawin = theHist->GetBinContent(iBinR) - theHist->GetBinContent(iBinL - 1);
1632 if (winsum > winmax) {
1635 max_bin = (iBinR + iBinL) / 2 - 1;
1646 }
while (iBinR < lastNonZeroBin);
1649 int iBinMin = max_bin - winHalfWidth;
1652 int iBinMax = max_bin + winHalfWidth;
1653 if (iBinMax >= hNbins)
1654 iBinMax = hNbins - 1;
1657 for (
int iBin = iBinMin; iBin <= iBinMax; ++iBin) {
1658 const double weight = theHist->GetBinContent(iBin);
1660 sumx +=
weight * theHist->GetBinCenter(iBin);
1663 double maxPosWin = -1.;
1666 maxPosWin = sumx /
sumw;
1673 const double h_rms = theHist->GetRMS(1);
1677 double numerator = 0;
1679 bool nullBin =
false;
1681 for (
int i = iBinMin;
i < iBinMax; ++
i) {
1682 double binError = theHist->GetBinError(
i);
1683 if (binError < 1
e-10) {
1686 double binErrorSquare =
std::pow(binError, 2);
1687 num = theHist->GetBinContent(
i) / (binErrorSquare);
1688 numerator = numerator +
num;
1691 if (numerator < 1
e-10 ||
denominator < 1
e-10 || nullBin ==
true) {
1707 const double binWidth = theHist->GetBinCenter(2) - theHist->GetBinCenter(1);
1708 double fitWidth = (winHalfWidth + 0.5) *
binWidth;
1721 TString fitOption =
debug ?
"QS" :
"QNS";
1727 TFitResultPtr fitRes =
1728 theHist->Fit(
m_fFitting, fitOption,
"", maxPos - fitWidth, maxPos + fitWidth);
1730 double maxPosFit = -1.;
1732 if (
int(fitRes) == 0) {
1735 const double mMax = fitRes->Parameter(0);
1736 const double mMean = fitRes->Parameter(1);
1737 const double mInvWidth2 = fitRes->Parameter(2);
1738 double mMaxError = fitRes->ParError(0);
1740 double mMeanError = fitRes->ParError(1);
1742 double mInvWidth2Error = fitRes->ParError(2);
1745 mInvWidth2Error = 0.;
1746 const double c = mMax * (1 - 4 * mMean * mMean * mInvWidth2);
1747 const double b = 8 * mMax * mMean * mInvWidth2;
1748 const double a = -4 * mMax * mInvWidth2;
1754 const double h_discri =
b *
b - 4 *
a *
c;
1756 const double sqrth_discri = sqrt(h_discri);
1757 const double h_fitLength = sqrth_discri /
a;
1764 maxPosFit = -
b / (2 *
a);
1768 if (maxPosFit >= 0. and std::abs(maxPosFit - maxPosWin) < 0.8 * fitWidth) {
◆ NuPsolutionLFV()
int MissingMassCalculator::NuPsolutionLFV |
( |
const XYVector & |
met_vec, |
|
|
const PtEtaPhiMVector & |
tau, |
|
|
const double & |
m_nu, |
|
|
std::vector< PtEtaPhiMVector > & |
nu_vec |
|
) |
| |
|
inlineprivate |
Definition at line 745 of file MissingMassCalculator.cxx.
748 int solution_code = 0;
751 PxPyPzMVector nu(met_vec.X(), met_vec.Y(), 0.0, l_nu);
752 PxPyPzMVector nu2(met_vec.X(), met_vec.Y(), 0.0, l_nu);
754 const double Mtau = 1.777;
756 double msq = (Mtau * Mtau - tau.M() * tau.M() - l_nu * l_nu) /
758 double gamma = nu.Px() * nu.Px() + nu.Py() * nu.Py();
759 double beta = tau.Px() * nu.Px() + tau.Py() * nu.Py() + msq;
760 double a = tau.E() * tau.E() - tau.Pz() * tau.Pz();
761 double b = -2 * tau.Pz() *
beta;
763 if ((
b *
b - 4 *
a *
c) < 0)
764 return solution_code;
767 double pvz1 = (-
b + sqrt(
b *
b - 4 *
a *
c)) / (2 *
a);
768 double pvz2 = (-
b - sqrt(
b *
b - 4 *
a *
c)) / (2 *
a);
770 nu.SetCoordinates(met_vec.X(), met_vec.Y(), pvz1, l_nu);
771 nu2.SetCoordinates(met_vec.X(), met_vec.Y(), pvz2, l_nu);
773 PtEtaPhiMVector return_nu(nu.Pt(), nu.Eta(), nu.Phi(), nu.M());
774 PtEtaPhiMVector return_nu2(nu2.Pt(), nu2.Eta(), nu2.Phi(), nu2.M());
775 nu_vec.push_back(return_nu);
776 nu_vec.push_back(return_nu2);
777 return solution_code;
◆ NuPsolutionV3()
int MissingMassCalculator::NuPsolutionV3 |
( |
const double & |
mNu1, |
|
|
const double & |
mNu2, |
|
|
const double & |
phi1, |
|
|
const double & |
phi2, |
|
|
int & |
nsol1, |
|
|
int & |
nsol2 |
|
) |
| |
|
inlineprivate |
Definition at line 540 of file MissingMassCalculator.cxx.
563 int solution_code = 0;
581 if (pTmiss2 * dPhiSign < 0) {
583 return solution_code;
589 if (pTmiss1 * (-dPhiSign) < 0) {
591 return solution_code;
600 double m4noma1 = m2noma1 * m2noma1;
602 double p2v1proj =
std::pow(pv1proj, 2);
604 double pTmiss2CscDPhi = pTmiss2 / sinDPhi2;
605 double &pTn1 = pTmiss2CscDPhi;
606 double pT2miss2CscDPhi = pTmiss2CscDPhi * pTmiss2CscDPhi;
609 const double discri1 = m4noma1 + 4 * m2noma1 * pTmiss2CscDPhi * pv1proj -
610 4 * (
m_ET2v1 * (
m_m2Nu1 + pT2miss2CscDPhi) - (pT2miss2CscDPhi * p2v1proj));
615 return solution_code;
623 double m4noma2 = m2noma2 * m2noma2;
625 double p2v2proj =
std::pow(pv2proj, 2);
626 double sinDPhi1 = -sinDPhi2;
627 double pTmiss1CscDPhi = pTmiss1 / sinDPhi1;
628 double &pTn2 = pTmiss1CscDPhi;
629 double pT2miss1CscDPhi = pTmiss1CscDPhi * pTmiss1CscDPhi;
631 const double discri2 = m4noma2 + 4 * m2noma2 * pTmiss1CscDPhi * pv2proj -
632 4 * (
m_ET2v2 * (
m_m2Nu2 + pT2miss1CscDPhi) - (pT2miss1CscDPhi * p2v2proj));
637 return solution_code;
643 double sqdiscri1 = sqrt(discri1);
649 double pn1Z = first1 + second1;
651 if (m2noma1 + 2 * pTmiss2CscDPhi * pv1proj + 2 * pn1Z *
m_tauVec1Pz >
660 pn1Z = first1 - second1;
662 if (m2noma1 + 2 * pTmiss2CscDPhi * pv1proj + 2 * pn1Z *
m_tauVec1Pz >
674 return solution_code;
679 double sqdiscri2 = sqrt(discri2);
685 double pn2Z = first2 + second2;
687 if (m2noma2 + 2 * pTmiss1CscDPhi * pv2proj + 2 * pn2Z *
m_tauVec2Pz >
696 pn2Z = first2 - second2;
699 if (m2noma2 + 2 * pTmiss1CscDPhi * pv2proj + 2 * pn2Z *
m_tauVec2Pz >
710 return solution_code;
726 if (std::abs(pnux - pTmissx) > 0.001 || std::abs(pnuy - pTmissy) > 0.001) {
727 Info(
"DiTauMassTools",
"%s", (
"NuPsolutionV3 ERROR Pnux-Met.X or Pnuy-Met.Y > 0.001 : " +
732 if (std::abs(mtau1plus -
m_mTau) > 0.001 || std::abs(mtau1moins -
m_mTau) > 0.001 ||
733 std::abs(mtau2plus -
m_mTau) > 0.001 || std::abs(mtau2moins -
m_mTau) > 0.001) {
734 Info(
"DiTauMassTools",
"%s", (
"NuPsolutionV3 ERROR tau mass not recovered : " +
741 return solution_code;
◆ operator=()
◆ precomputeCache()
bool MissingMassCalculator::precomputeCache |
( |
| ) |
|
|
inlineprotected |
◆ PrintOtherInput()
void MissingMassCalculator::PrintOtherInput |
( |
| ) |
|
|
private |
Definition at line 393 of file MissingMassCalculator.cxx.
397 Info(
"DiTauMassTools",
398 ".........................Other input.....................................");
399 Info(
"DiTauMassTools",
"%s",
403 Info(
"DiTauMassTools",
"%s",
406 Info(
"DiTauMassTools",
"%s",
414 Info(
"DiTauMassTools",
415 "tau1 and tau2 were internally swapped (visible on prepared input printout)");
417 Info(
"DiTauMassTools",
"tau1 and tau2 were NOT internally swapped");
420 Info(
"DiTauMassTools",
"%s",
422 Info(
"DiTauMassTools",
"%s",
424 Info(
"DiTauMassTools",
"%s",
426 Info(
"DiTauMassTools",
"%s",
428 Info(
"DiTauMassTools",
"%s",
430 Info(
"DiTauMassTools",
"%s",
◆ PrintResults()
void MissingMassCalculator::PrintResults |
( |
| ) |
|
|
private |
Definition at line 435 of file MissingMassCalculator.cxx.
440 const PtEtaPhiMVector *origVisTau1 = 0;
441 const PtEtaPhiMVector *origVisTau2 = 0;
454 Info(
"DiTauMassTools",
455 "------------- Printing Final Results for MissingMassCalculator --------------");
456 Info(
"DiTauMassTools",
457 ".............................................................................");
461 Info(
"DiTauMassTools",
"%s",
464 Info(
"DiTauMassTools",
"%s",
470 Info(
"DiTauMassTools",
" no 4-momentum or MET from this method ");
475 Info(
"DiTauMassTools",
" fit failed ");
484 Info(
"DiTauMassTools",
"%s",
490 Info(
"DiTauMassTools",
"%s",
496 Info(
"DiTauMassTools",
"%s",
502 Info(
"DiTauMassTools",
"%s",
509 Info(
"DiTauMassTools",
"%s",
511 Info(
"DiTauMassTools",
"%s",
514 Info(
"DiTauMassTools",
"%s",
◆ probCalculatorV9fast()
int MissingMassCalculator::probCalculatorV9fast |
( |
const double & |
phi1, |
|
|
const double & |
phi2, |
|
|
const double & |
M_nu1, |
|
|
const double & |
M_nu2 |
|
) |
| |
|
inlineprotected |
◆ refineSolutions()
int MissingMassCalculator::refineSolutions |
( |
const double & |
M_nu1, |
|
|
const double & |
M_nu2, |
|
|
const int |
nsol1, |
|
|
const int |
nsol2, |
|
|
const double & |
Mvis, |
|
|
const double & |
Meff |
|
) |
| |
|
inlineprotected |
Definition at line 1811 of file MissingMassCalculator.cxx.
1819 Error(
"DiTauMassTools",
"%s",
1823 Error(
"DiTauMassTools",
"%s",
1827 Error(
"DiTauMassTools",
"%s",
1831 Error(
"DiTauMassTools",
"%s",
1846 Prob->
apply(
preparedInput, -99, -99, PtEtaPhiMVector(0, 0, 0, 0), PtEtaPhiMVector(0, 0, 0, 0),
1847 PtEtaPhiMVector(0, 0, 0, 0), PtEtaPhiMVector(0, 0, 0, 0),
true,
false,
false);
1849 for (
int j1 = 0;
j1 < nsol1; ++
j1) {
1859 const int pickInt = std::abs(10000 *
m_Phi1);
1860 const int pickDigit = pickInt - 10 * (pickInt / 10);
1868 nuvec1_tmpj.SetCoordinates(nuvec1_tmpj.Pt(), nuvec1_tmpj.Eta(), nuvec1_tmpj.Phi(), M_nu1);
1869 tauvecsol1j.SetPxPyPzE(0., 0., 0., 0.);
1870 tauvecsol1j += nuvec1_tmpj;
1875 PtEtaPhiMVector(0, 0, 0, 0), nuvec1_tmpj,
1876 PtEtaPhiMVector(0, 0, 0, 0),
false,
true,
false);
1880 for (
int j2 = 0;
j2 < nsol2; ++
j2) {
1891 const int pickInt = std::abs(10000 *
m_Phi2);
1892 const int pickDigit = pickInt - 10 *
int(pickInt / 10);
1900 nuvec2_tmpj.SetCoordinates(nuvec2_tmpj.Pt(), nuvec2_tmpj.Eta(), nuvec2_tmpj.Phi(), M_nu2);
1901 tauvecsol2j.SetPxPyPzE(0., 0., 0., 0.);
1902 tauvecsol2j += nuvec2_tmpj;
1908 PtEtaPhiMVector(0, 0, 0, 0), nuvec2_tmpj,
false,
true,
false);
1912 if (tauvecprob1j == 0.)
1914 if (tauvecprob2j == 0.)
1917 double totalProb = 1.;
1930 (constProb * tauvecprob1j * tauvecprob2j *
1934 if (totalProb <= 0) {
1936 Warning(
"DiTauMassTools",
"%s",
1937 (
"null proba solution, rejected "+
std::to_string(totalProb)).c_str());
1944 Error(
"DiTauMassTools",
"%s",
1945 (
"refineSolutions ERROR nsol getting larger than nsolfinalmax!!! " +
1948 Error(
"DiTauMassTools",
"%s",
1964 nu1Final.SetPxPyPzE(nuvec1_tmpj.Px(), nuvec1_tmpj.Py(), nuvec1_tmpj.Pz(), nuvec1_tmpj.E());
1965 nu2Final.SetPxPyPzE(nuvec2_tmpj.Px(), nuvec2_tmpj.Py(), nuvec2_tmpj.Pz(), nuvec2_tmpj.E());
1973 if (ngoodsol1 == 0) {
1976 if (ngoodsol2 == 0) {
◆ RunMissingMassCalculator()
Definition at line 187 of file MissingMassCalculator.cxx.
195 Info(
"DiTauMassTools",
"------------- Raw Input for MissingMassCalculator --------------");
200 Info(
"DiTauMassTools",
"------------- Prepared Input for MissingMassCalculator--------------");
219 double dummy_METres =
240 Info(
"DiTauMassTools",
"Calling DitauMassCalculatorV9lfv");
246 TFile *
outFile = TFile::Open(
"MMC_likelihoods.root",
"UPDATE");
261 TH1D *nosol =
new TH1D(
"nosol",
"nosol", 7, 0, 7);
269 nosol->Write(nosol->GetName(), TObject::kOverwrite);
◆ SaveLlhHisto()
void MissingMassCalculator::SaveLlhHisto |
( |
const bool |
val | ) |
|
Definition at line 3088 of file MissingMassCalculator.cxx.
3092 float hEmax = 3000.0;
3094 m_fMEtP_all = std::make_shared<TH1F>(
"MEtP_h1",
"M", hNbins, -100.0,
3096 m_fMEtL_all = std::make_shared<TH1F>(
"MEtL_h1",
"M", hNbins, -100.0,
3098 m_fMnu1_all = std::make_shared<TH1F>(
"Mnu1_h1",
"M", hNbins, 0.0,
3100 m_fMnu2_all = std::make_shared<TH1F>(
"Mnu2_h1",
"M", hNbins, 0.0,
3102 m_fPhi1_all = std::make_shared<TH1F>(
"Phi1_h1",
"M", hNbins, -10.0,
3104 m_fPhi2_all = std::make_shared<TH1F>(
"Phi2_h1",
"M", hNbins, -10.0,
◆ SetBeamEnergy()
void DiTauMassTools::MissingMassCalculator::SetBeamEnergy |
( |
const double |
val | ) |
|
|
inline |
◆ SetdTheta3d_binMax()
void DiTauMassTools::MissingMassCalculator::SetdTheta3d_binMax |
( |
const double |
val | ) |
|
|
inline |
◆ SetdTheta3d_binMin()
void DiTauMassTools::MissingMassCalculator::SetdTheta3d_binMin |
( |
const double |
val | ) |
|
|
inline |
◆ SetEventNumber()
void DiTauMassTools::MissingMassCalculator::SetEventNumber |
( |
const int |
eventNumber | ) |
|
|
inline |
◆ SetLFVLeplepRefit()
void DiTauMassTools::MissingMassCalculator::SetLFVLeplepRefit |
( |
const bool |
val | ) |
|
|
inline |
◆ SetMeanbinStop()
void DiTauMassTools::MissingMassCalculator::SetMeanbinStop |
( |
const double |
val | ) |
|
|
inline |
◆ SetMnuScanRange()
void DiTauMassTools::MissingMassCalculator::SetMnuScanRange |
( |
const double |
val | ) |
|
|
inline |
◆ SetNiterFit1()
void DiTauMassTools::MissingMassCalculator::SetNiterFit1 |
( |
const int |
val | ) |
|
|
inline |
◆ SetNiterFit2()
void DiTauMassTools::MissingMassCalculator::SetNiterFit2 |
( |
const int |
val | ) |
|
|
inline |
◆ SetNiterFit3()
void DiTauMassTools::MissingMassCalculator::SetNiterFit3 |
( |
const int |
val | ) |
|
|
inline |
◆ SetNiterRandom()
void DiTauMassTools::MissingMassCalculator::SetNiterRandom |
( |
const int |
val | ) |
|
|
inline |
◆ SetNsigmaMETscan()
void DiTauMassTools::MissingMassCalculator::SetNsigmaMETscan |
( |
const double |
val | ) |
|
|
inline |
◆ SetNsigmaMETscan_hh()
void DiTauMassTools::MissingMassCalculator::SetNsigmaMETscan_hh |
( |
const double |
val | ) |
|
|
inline |
◆ SetNsigmaMETscan_lh()
void DiTauMassTools::MissingMassCalculator::SetNsigmaMETscan_lh |
( |
const double |
val | ) |
|
|
inline |
◆ SetNsigmaMETscan_ll()
void DiTauMassTools::MissingMassCalculator::SetNsigmaMETscan_ll |
( |
const double |
val | ) |
|
|
inline |
◆ SetNsucStop()
void DiTauMassTools::MissingMassCalculator::SetNsucStop |
( |
const int |
val | ) |
|
|
inline |
◆ SetProposalTryEtau()
void DiTauMassTools::MissingMassCalculator::SetProposalTryEtau |
( |
const double |
val | ) |
|
|
inline |
◆ SetProposalTryMEt()
void DiTauMassTools::MissingMassCalculator::SetProposalTryMEt |
( |
const double |
val | ) |
|
|
inline |
◆ SetProposalTryMnu()
void DiTauMassTools::MissingMassCalculator::SetProposalTryMnu |
( |
const double |
val | ) |
|
|
inline |
◆ SetProposalTryPhi()
void DiTauMassTools::MissingMassCalculator::SetProposalTryPhi |
( |
const double |
val | ) |
|
|
inline |
◆ SetRMSStop()
void DiTauMassTools::MissingMassCalculator::SetRMSStop |
( |
const int |
val | ) |
|
|
inline |
◆ SetRndmSeedAltering()
void DiTauMassTools::MissingMassCalculator::SetRndmSeedAltering |
( |
const int |
val | ) |
|
|
inline |
◆ SetUseEfficiencyRecovery()
void DiTauMassTools::MissingMassCalculator::SetUseEfficiencyRecovery |
( |
const bool |
val | ) |
|
|
inline |
◆ SetUseFloatStopping()
void MissingMassCalculator::SetUseFloatStopping |
( |
const bool |
val | ) |
|
Definition at line 3123 of file MissingMassCalculator.cxx.
3127 float hEmax = 3000.0;
3129 m_fMmass_split1 = std::make_shared<TH1F>(
"mass_h1_1",
"M", hNbins, 0.0, hEmax);
3130 m_fMEtP_split1 = std::make_shared<TH1F>(
"MEtP_h1_1",
"M", hNbins, -100.0, 100.0);
3131 m_fMEtL_split1 = std::make_shared<TH1F>(
"MEtL_h1_1",
"M", hNbins, -100.0, 100.0);
3132 m_fMnu1_split1 = std::make_shared<TH1F>(
"Mnu1_h1_1",
"M", hNbins, 0.0, hEmax);
3133 m_fMnu2_split1 = std::make_shared<TH1F>(
"Mnu2_h1_1",
"M", hNbins, 0.0, hEmax);
3134 m_fPhi1_split1 = std::make_shared<TH1F>(
"Phi1_h1_1",
"M", hNbins, -10.0, 10.0);
3135 m_fPhi2_split1 = std::make_shared<TH1F>(
"Phi2_h1_1",
"M", hNbins, -10.0, 10.0);
3136 m_fMmass_split2 = std::make_shared<TH1F>(
"mass_h1_2",
"M", hNbins, 0.0, hEmax);
3137 m_fMEtP_split2 = std::make_shared<TH1F>(
"MEtP_h1_2",
"M", hNbins, -100.0, 100.0);
3138 m_fMEtL_split2 = std::make_shared<TH1F>(
"MEtL_h1_2",
"M", hNbins, -100.0, 100.0);
3139 m_fMnu1_split2 = std::make_shared<TH1F>(
"Mnu1_h1_2",
"M", hNbins, 0.0, hEmax);
3140 m_fMnu2_split2 = std::make_shared<TH1F>(
"Mnu2_h1_2",
"M", hNbins, 0.0, hEmax);
3141 m_fPhi1_split2 = std::make_shared<TH1F>(
"Phi1_h1_2",
"M", hNbins, -10.0, 10.0);
3142 m_fPhi2_split2 = std::make_shared<TH1F>(
"Phi2_h1_2",
"M", hNbins, -10.0, 10.0);
◆ SpaceWalkerInit()
void MissingMassCalculator::SpaceWalkerInit |
( |
| ) |
|
|
inlineprotected |
◆ SpaceWalkerWalk()
bool MissingMassCalculator::SpaceWalkerWalk |
( |
| ) |
|
|
inlineprotected |
Definition at line 2487 of file MissingMassCalculator.cxx.
2494 Info(
"DiTauMassTools",
" in m_meanbinToBeEvaluated && m_iterNsuc==500 ");
2510 int stopint = stopdouble;
◆ TailCleanUp()
int MissingMassCalculator::TailCleanUp |
( |
const PtEtaPhiMVector & |
vis1, |
|
|
const PtEtaPhiMVector & |
nu1, |
|
|
const PtEtaPhiMVector & |
vis2, |
|
|
const PtEtaPhiMVector & |
nu2, |
|
|
const double & |
mmc_mass, |
|
|
const double & |
vis_mass, |
|
|
const double & |
eff_mass, |
|
|
const double & |
dphiTT |
|
) |
| |
|
inlineprotected |
Definition at line 1982 of file MissingMassCalculator.cxx.
1998 const double MrecoMvis = mmc_mass / vis_mass;
1999 if (MrecoMvis > 2.6)
2001 const double MrecoMeff = mmc_mass / eff_mass;
2002 if (MrecoMeff > 1.9)
2004 const double e1p1 = nu1.E() / vis1.P();
2005 const double e2p2 = nu2.E() / vis2.P();
2006 if ((e1p1 + e2p2) > 4.5)
2027 const double MrecoMvis = mmc_mass / vis_mass;
2028 const double MrecoMeff = mmc_mass / eff_mass;
2029 const double x = dphiTT > 1.5 ? dphiTT : 1.5;
2030 if ((MrecoMeff + MrecoMvis) > 5.908 - 1.881 *
x + 0.2995 *
x *
x)
◆ m_beamEnergy
double DiTauMassTools::MissingMassCalculator::m_beamEnergy {} |
|
private |
◆ m_cosPhi1
double DiTauMassTools::MissingMassCalculator::m_cosPhi1 {} |
|
private |
◆ m_cosPhi2
double DiTauMassTools::MissingMassCalculator::m_cosPhi2 {} |
|
private |
◆ m_debugThisIteration
bool DiTauMassTools::MissingMassCalculator::m_debugThisIteration |
|
private |
◆ m_dRmax_tau
double DiTauMassTools::MissingMassCalculator::m_dRmax_tau {} |
|
private |
◆ m_dTheta3d_binMax
double DiTauMassTools::MissingMassCalculator::m_dTheta3d_binMax {} |
|
private |
◆ m_dTheta3d_binMin
double DiTauMassTools::MissingMassCalculator::m_dTheta3d_binMin {} |
|
private |
◆ m_E2v1
double DiTauMassTools::MissingMassCalculator::m_E2v1 {} |
|
private |
◆ m_E2v2
double DiTauMassTools::MissingMassCalculator::m_E2v2 {} |
|
private |
◆ m_ET2v1
double DiTauMassTools::MissingMassCalculator::m_ET2v1 {} |
|
private |
◆ m_ET2v2
double DiTauMassTools::MissingMassCalculator::m_ET2v2 {} |
|
private |
◆ m_eTau1
double DiTauMassTools::MissingMassCalculator::m_eTau1 {} |
|
private |
◆ m_eTau10
double DiTauMassTools::MissingMassCalculator::m_eTau10 {} |
|
private |
◆ m_eTau1Max
double DiTauMassTools::MissingMassCalculator::m_eTau1Max {} |
|
private |
◆ m_eTau1Min
double DiTauMassTools::MissingMassCalculator::m_eTau1Min {} |
|
private |
◆ m_eTau1Proposal
double DiTauMassTools::MissingMassCalculator::m_eTau1Proposal {} |
|
private |
◆ m_eTau1Range
double DiTauMassTools::MissingMassCalculator::m_eTau1Range {} |
|
private |
◆ m_eTau2
double DiTauMassTools::MissingMassCalculator::m_eTau2 {} |
|
private |
◆ m_eTau20
double DiTauMassTools::MissingMassCalculator::m_eTau20 {} |
|
private |
◆ m_eTau2Max
double DiTauMassTools::MissingMassCalculator::m_eTau2Max {} |
|
private |
◆ m_eTau2Min
double DiTauMassTools::MissingMassCalculator::m_eTau2Min {} |
|
private |
◆ m_eTau2Proposal
double DiTauMassTools::MissingMassCalculator::m_eTau2Proposal {} |
|
private |
◆ m_eTau2Range
double DiTauMassTools::MissingMassCalculator::m_eTau2Range {} |
|
private |
◆ m_Ev1
double DiTauMassTools::MissingMassCalculator::m_Ev1 {} |
|
private |
◆ m_Ev2
double DiTauMassTools::MissingMassCalculator::m_Ev2 {} |
|
private |
◆ m_eventNumber
int DiTauMassTools::MissingMassCalculator::m_eventNumber {} |
|
private |
◆ m_fDitauStuffFit
DitauStuff DiTauMassTools::MissingMassCalculator::m_fDitauStuffFit |
|
private |
◆ m_fDitauStuffHisto
DitauStuff DiTauMassTools::MissingMassCalculator::m_fDitauStuffHisto |
|
private |
◆ m_fFitting
TF1* DiTauMassTools::MissingMassCalculator::m_fFitting {} |
|
private |
◆ m_fMEtL_all
std::shared_ptr<TH1F> DiTauMassTools::MissingMassCalculator::m_fMEtL_all |
|
private |
◆ m_fMEtL_split1
std::shared_ptr<TH1F> DiTauMassTools::MissingMassCalculator::m_fMEtL_split1 |
|
private |
◆ m_fMEtL_split2
std::shared_ptr<TH1F> DiTauMassTools::MissingMassCalculator::m_fMEtL_split2 |
|
private |
◆ m_fMEtP_all
std::shared_ptr<TH1F> DiTauMassTools::MissingMassCalculator::m_fMEtP_all |
|
private |
◆ m_fMEtP_split1
std::shared_ptr<TH1F> DiTauMassTools::MissingMassCalculator::m_fMEtP_split1 |
|
private |
◆ m_fMEtP_split2
std::shared_ptr<TH1F> DiTauMassTools::MissingMassCalculator::m_fMEtP_split2 |
|
private |
◆ m_fMetx
TH1F* DiTauMassTools::MissingMassCalculator::m_fMetx {} |
|
private |
◆ m_fMety
TH1F* DiTauMassTools::MissingMassCalculator::m_fMety {} |
|
private |
◆ m_fMfit_all
std::shared_ptr<TH1F> DiTauMassTools::MissingMassCalculator::m_fMfit_all |
|
private |
◆ m_fMfit_allGraph
std::shared_ptr<TGraph> DiTauMassTools::MissingMassCalculator::m_fMfit_allGraph |
|
private |
◆ m_fMfit_allNoWeight
std::shared_ptr<TH1F> DiTauMassTools::MissingMassCalculator::m_fMfit_allNoWeight |
|
private |
◆ m_fMmass_split1
std::shared_ptr<TH1F> DiTauMassTools::MissingMassCalculator::m_fMmass_split1 |
|
private |
◆ m_fMmass_split2
std::shared_ptr<TH1F> DiTauMassTools::MissingMassCalculator::m_fMmass_split2 |
|
private |
◆ m_fMnu1
TH1F* DiTauMassTools::MissingMassCalculator::m_fMnu1 {} |
|
private |
◆ m_fMnu1_all
std::shared_ptr<TH1F> DiTauMassTools::MissingMassCalculator::m_fMnu1_all |
|
private |
◆ m_fMnu1_split1
std::shared_ptr<TH1F> DiTauMassTools::MissingMassCalculator::m_fMnu1_split1 |
|
private |
◆ m_fMnu1_split2
std::shared_ptr<TH1F> DiTauMassTools::MissingMassCalculator::m_fMnu1_split2 |
|
private |
◆ m_fMnu2
TH1F* DiTauMassTools::MissingMassCalculator::m_fMnu2 {} |
|
private |
◆ m_fMnu2_all
std::shared_ptr<TH1F> DiTauMassTools::MissingMassCalculator::m_fMnu2_all |
|
private |
◆ m_fMnu2_split1
std::shared_ptr<TH1F> DiTauMassTools::MissingMassCalculator::m_fMnu2_split1 |
|
private |
◆ m_fMnu2_split2
std::shared_ptr<TH1F> DiTauMassTools::MissingMassCalculator::m_fMnu2_split2 |
|
private |
◆ m_fPhi1
TH1F* DiTauMassTools::MissingMassCalculator::m_fPhi1 {} |
|
private |
◆ m_fPhi1_all
std::shared_ptr<TH1F> DiTauMassTools::MissingMassCalculator::m_fPhi1_all |
|
private |
◆ m_fPhi1_split1
std::shared_ptr<TH1F> DiTauMassTools::MissingMassCalculator::m_fPhi1_split1 |
|
private |
◆ m_fPhi1_split2
std::shared_ptr<TH1F> DiTauMassTools::MissingMassCalculator::m_fPhi1_split2 |
|
private |
◆ m_fPhi2
TH1F* DiTauMassTools::MissingMassCalculator::m_fPhi2 {} |
|
private |
◆ m_fPhi2_all
std::shared_ptr<TH1F> DiTauMassTools::MissingMassCalculator::m_fPhi2_all |
|
private |
◆ m_fPhi2_split1
std::shared_ptr<TH1F> DiTauMassTools::MissingMassCalculator::m_fPhi2_split1 |
|
private |
◆ m_fPhi2_split2
std::shared_ptr<TH1F> DiTauMassTools::MissingMassCalculator::m_fPhi2_split2 |
|
private |
◆ m_fPXfit1
std::shared_ptr<TH1F> DiTauMassTools::MissingMassCalculator::m_fPXfit1 |
|
private |
◆ m_fPXfit2
std::shared_ptr<TH1F> DiTauMassTools::MissingMassCalculator::m_fPXfit2 |
|
private |
◆ m_fPYfit1
std::shared_ptr<TH1F> DiTauMassTools::MissingMassCalculator::m_fPYfit1 |
|
private |
◆ m_fPYfit2
std::shared_ptr<TH1F> DiTauMassTools::MissingMassCalculator::m_fPYfit2 |
|
private |
◆ m_fPZfit1
std::shared_ptr<TH1F> DiTauMassTools::MissingMassCalculator::m_fPZfit1 |
|
private |
◆ m_fPZfit2
std::shared_ptr<TH1F> DiTauMassTools::MissingMassCalculator::m_fPZfit2 |
|
private |
◆ m_fTauProb
TH1F* DiTauMassTools::MissingMassCalculator::m_fTauProb {} |
|
private |
◆ m_fTheta3D
TH1F* DiTauMassTools::MissingMassCalculator::m_fTheta3D {} |
|
private |
◆ m_fullParamSpaceScan
bool DiTauMassTools::MissingMassCalculator::m_fullParamSpaceScan {} |
|
private |
◆ m_fUseEfficiencyRecovery
bool DiTauMassTools::MissingMassCalculator::m_fUseEfficiencyRecovery {} |
|
private |
◆ m_fUseFloatStopping
bool DiTauMassTools::MissingMassCalculator::m_fUseFloatStopping {} |
|
private |
◆ m_iang1high
int DiTauMassTools::MissingMassCalculator::m_iang1high {} |
|
private |
◆ m_iang1low
int DiTauMassTools::MissingMassCalculator::m_iang1low {} |
|
private |
◆ m_iang2high
int DiTauMassTools::MissingMassCalculator::m_iang2high {} |
|
private |
◆ m_iang2low
int DiTauMassTools::MissingMassCalculator::m_iang2low {} |
|
private |
◆ m_iter0
int DiTauMassTools::MissingMassCalculator::m_iter0 {} |
|
private |
◆ m_iter1
int DiTauMassTools::MissingMassCalculator::m_iter1 {} |
|
private |
◆ m_iter2
int DiTauMassTools::MissingMassCalculator::m_iter2 {} |
|
private |
◆ m_iter3
int DiTauMassTools::MissingMassCalculator::m_iter3 {} |
|
private |
◆ m_iter4
int DiTauMassTools::MissingMassCalculator::m_iter4 {} |
|
private |
◆ m_iter5
int DiTauMassTools::MissingMassCalculator::m_iter5 {} |
|
private |
◆ m_iterNsuc
int DiTauMassTools::MissingMassCalculator::m_iterNsuc {} |
|
private |
◆ m_iterNuPV3
int DiTauMassTools::MissingMassCalculator::m_iterNuPV3 {} |
|
private |
◆ m_iterTheta3d
int DiTauMassTools::MissingMassCalculator::m_iterTheta3d {} |
|
private |
◆ m_lfvLeplepRefit
bool DiTauMassTools::MissingMassCalculator::m_lfvLeplepRefit |
|
private |
◆ m_m2Nu1
double DiTauMassTools::MissingMassCalculator::m_m2Nu1 {} |
|
private |
◆ m_m2Nu2
double DiTauMassTools::MissingMassCalculator::m_m2Nu2 {} |
|
private |
◆ m_markovCountDuplicate
int DiTauMassTools::MissingMassCalculator::m_markovCountDuplicate {} |
|
private |
◆ m_markovNAccept
int DiTauMassTools::MissingMassCalculator::m_markovNAccept {} |
|
private |
◆ m_markovNFullScan
int DiTauMassTools::MissingMassCalculator::m_markovNFullScan {} |
|
private |
◆ m_markovNRejectMetropolis
int DiTauMassTools::MissingMassCalculator::m_markovNRejectMetropolis {} |
|
private |
◆ m_markovNRejectNoSol
int DiTauMassTools::MissingMassCalculator::m_markovNRejectNoSol {} |
|
private |
◆ m_meanbinStop
double DiTauMassTools::MissingMassCalculator::m_meanbinStop {} |
|
private |
◆ m_meanbinToBeEvaluated
bool DiTauMassTools::MissingMassCalculator::m_meanbinToBeEvaluated {} |
|
private |
◆ m_Meff
double DiTauMassTools::MissingMassCalculator::m_Meff {} |
|
private |
◆ m_metCovPhiCos
double DiTauMassTools::MissingMassCalculator::m_metCovPhiCos {} |
|
private |
◆ m_metCovPhiSin
double DiTauMassTools::MissingMassCalculator::m_metCovPhiSin {} |
|
private |
◆ m_MEtL
double DiTauMassTools::MissingMassCalculator::m_MEtL {} |
|
private |
◆ m_MEtL0
double DiTauMassTools::MissingMassCalculator::m_MEtL0 {} |
|
private |
◆ m_MEtLMax
double DiTauMassTools::MissingMassCalculator::m_MEtLMax {} |
|
private |
◆ m_MEtLMin
double DiTauMassTools::MissingMassCalculator::m_MEtLMin {} |
|
private |
◆ m_MEtLRange
double DiTauMassTools::MissingMassCalculator::m_MEtLRange {} |
|
private |
◆ m_MEtLStep
double DiTauMassTools::MissingMassCalculator::m_MEtLStep {} |
|
private |
◆ m_MEtP
double DiTauMassTools::MissingMassCalculator::m_MEtP {} |
|
private |
◆ m_MEtP0
double DiTauMassTools::MissingMassCalculator::m_MEtP0 {} |
|
private |
◆ m_MEtPMax
double DiTauMassTools::MissingMassCalculator::m_MEtPMax {} |
|
private |
◆ m_MEtPMin
double DiTauMassTools::MissingMassCalculator::m_MEtPMin {} |
|
private |
◆ m_MEtPRange
double DiTauMassTools::MissingMassCalculator::m_MEtPRange {} |
|
private |
◆ m_MEtProposal
double DiTauMassTools::MissingMassCalculator::m_MEtProposal {} |
|
private |
◆ m_MEtPStep
double DiTauMassTools::MissingMassCalculator::m_MEtPStep {} |
|
private |
◆ m_mmcCalibrationSet
◆ m_Mnu1
double DiTauMassTools::MissingMassCalculator::m_Mnu1 {} |
|
private |
◆ m_Mnu10
double DiTauMassTools::MissingMassCalculator::m_Mnu10 {} |
|
private |
◆ m_Mnu1Exclude
bool DiTauMassTools::MissingMassCalculator::m_Mnu1Exclude {} |
|
private |
◆ m_Mnu1ExcludeMax
double DiTauMassTools::MissingMassCalculator::m_Mnu1ExcludeMax {} |
|
private |
◆ m_Mnu1ExcludeMin
double DiTauMassTools::MissingMassCalculator::m_Mnu1ExcludeMin {} |
|
private |
◆ m_Mnu1ExcludeRange
double DiTauMassTools::MissingMassCalculator::m_Mnu1ExcludeRange {} |
|
private |
◆ m_Mnu1Max
double DiTauMassTools::MissingMassCalculator::m_Mnu1Max {} |
|
private |
◆ m_Mnu1Min
double DiTauMassTools::MissingMassCalculator::m_Mnu1Min {} |
|
private |
◆ m_Mnu1Range
double DiTauMassTools::MissingMassCalculator::m_Mnu1Range {} |
|
private |
◆ m_Mnu1Step
double DiTauMassTools::MissingMassCalculator::m_Mnu1Step {} |
|
private |
◆ m_Mnu1XMax
double DiTauMassTools::MissingMassCalculator::m_Mnu1XMax {} |
|
private |
◆ m_Mnu1XMin
double DiTauMassTools::MissingMassCalculator::m_Mnu1XMin {} |
|
private |
◆ m_Mnu1XRange
double DiTauMassTools::MissingMassCalculator::m_Mnu1XRange {} |
|
private |
◆ m_Mnu2
double DiTauMassTools::MissingMassCalculator::m_Mnu2 {} |
|
private |
◆ m_Mnu20
double DiTauMassTools::MissingMassCalculator::m_Mnu20 {} |
|
private |
◆ m_Mnu2Max
double DiTauMassTools::MissingMassCalculator::m_Mnu2Max {} |
|
private |
◆ m_Mnu2Min
double DiTauMassTools::MissingMassCalculator::m_Mnu2Min {} |
|
private |
◆ m_Mnu2Range
double DiTauMassTools::MissingMassCalculator::m_Mnu2Range {} |
|
private |
◆ m_Mnu2Step
double DiTauMassTools::MissingMassCalculator::m_Mnu2Step {} |
|
private |
◆ m_MnuProposal
double DiTauMassTools::MissingMassCalculator::m_MnuProposal {} |
|
private |
◆ m_MnuScanRange
double DiTauMassTools::MissingMassCalculator::m_MnuScanRange {} |
|
private |
◆ m_mTau
double DiTauMassTools::MissingMassCalculator::m_mTau {} |
|
private |
◆ m_mTau2
double DiTauMassTools::MissingMassCalculator::m_mTau2 {} |
|
private |
◆ m_mtautauFinalSolOldVec
std::vector<double> DiTauMassTools::MissingMassCalculator::m_mtautauFinalSolOldVec |
|
private |
◆ m_mtautauFinalSolVec
std::vector<double> DiTauMassTools::MissingMassCalculator::m_mtautauFinalSolVec |
|
private |
◆ m_mtautauSum
double DiTauMassTools::MissingMassCalculator::m_mtautauSum {} |
|
private |
◆ m_Mvis
double DiTauMassTools::MissingMassCalculator::m_Mvis {} |
|
private |
◆ m_nCallprobCalculatorV9fast
int DiTauMassTools::MissingMassCalculator::m_nCallprobCalculatorV9fast |
|
private |
◆ m_niter_fit1
int DiTauMassTools::MissingMassCalculator::m_niter_fit1 {} |
|
private |
◆ m_niter_fit2
int DiTauMassTools::MissingMassCalculator::m_niter_fit2 {} |
|
private |
◆ m_niter_fit3
int DiTauMassTools::MissingMassCalculator::m_niter_fit3 {} |
|
private |
◆ m_NiterRandom
int DiTauMassTools::MissingMassCalculator::m_NiterRandom {} |
|
private |
◆ m_niterRandomLocal
int DiTauMassTools::MissingMassCalculator::m_niterRandomLocal {} |
|
private |
◆ m_nosol1
int DiTauMassTools::MissingMassCalculator::m_nosol1 {} |
|
private |
◆ m_nosol2
int DiTauMassTools::MissingMassCalculator::m_nosol2 {} |
|
private |
◆ m_nsigma_METscan
double DiTauMassTools::MissingMassCalculator::m_nsigma_METscan {} |
|
private |
◆ m_nsigma_METscan2
double DiTauMassTools::MissingMassCalculator::m_nsigma_METscan2 {} |
|
private |
◆ m_nsigma_METscan_hh
double DiTauMassTools::MissingMassCalculator::m_nsigma_METscan_hh {} |
|
private |
◆ m_nsigma_METscan_lfv_lh
double DiTauMassTools::MissingMassCalculator::m_nsigma_METscan_lfv_lh {} |
|
private |
◆ m_nsigma_METscan_lfv_ll
double DiTauMassTools::MissingMassCalculator::m_nsigma_METscan_lfv_ll {} |
|
private |
◆ m_nsigma_METscan_lh
double DiTauMassTools::MissingMassCalculator::m_nsigma_METscan_lh {} |
|
private |
◆ m_nsigma_METscan_ll
double DiTauMassTools::MissingMassCalculator::m_nsigma_METscan_ll {} |
|
private |
◆ m_nsol
int DiTauMassTools::MissingMassCalculator::m_nsol {} |
|
private |
◆ m_nsolfinalmax
int DiTauMassTools::MissingMassCalculator::m_nsolfinalmax {} |
|
private |
◆ m_nsolmax
int DiTauMassTools::MissingMassCalculator::m_nsolmax |
|
private |
◆ m_nsolOld
int DiTauMassTools::MissingMassCalculator::m_nsolOld {} |
|
private |
◆ m_nsucStop
int DiTauMassTools::MissingMassCalculator::m_nsucStop {} |
|
private |
◆ m_NsucStop
int DiTauMassTools::MissingMassCalculator::m_NsucStop {} |
|
private |
◆ m_nu1FinalSolOldVec
std::vector<PtEtaPhiMVector> DiTauMassTools::MissingMassCalculator::m_nu1FinalSolOldVec |
|
private |
◆ m_nu1FinalSolVec
std::vector<PtEtaPhiMVector> DiTauMassTools::MissingMassCalculator::m_nu1FinalSolVec |
|
private |
◆ m_nu2FinalSolOldVec
std::vector<PtEtaPhiMVector> DiTauMassTools::MissingMassCalculator::m_nu2FinalSolOldVec |
|
private |
◆ m_nu2FinalSolVec
std::vector<PtEtaPhiMVector> DiTauMassTools::MissingMassCalculator::m_nu2FinalSolVec |
|
private |
◆ m_nuvec1_tmp
std::vector<PtEtaPhiMVector> DiTauMassTools::MissingMassCalculator::m_nuvec1_tmp |
|
private |
◆ m_nuvec2_tmp
std::vector<PtEtaPhiMVector> DiTauMassTools::MissingMassCalculator::m_nuvec2_tmp |
|
private |
◆ m_nuvecsol1
std::vector<PtEtaPhiMVector> DiTauMassTools::MissingMassCalculator::m_nuvecsol1 |
|
private |
◆ m_nuvecsol2
std::vector<PtEtaPhiMVector> DiTauMassTools::MissingMassCalculator::m_nuvecsol2 |
|
private |
◆ m_Phi1
double DiTauMassTools::MissingMassCalculator::m_Phi1 {} |
|
private |
◆ m_Phi10
double DiTauMassTools::MissingMassCalculator::m_Phi10 {} |
|
private |
◆ m_Phi1Max
double DiTauMassTools::MissingMassCalculator::m_Phi1Max {} |
|
private |
◆ m_Phi1Min
double DiTauMassTools::MissingMassCalculator::m_Phi1Min {} |
|
private |
◆ m_Phi1Range
double DiTauMassTools::MissingMassCalculator::m_Phi1Range {} |
|
private |
◆ m_Phi1Step
double DiTauMassTools::MissingMassCalculator::m_Phi1Step {} |
|
private |
◆ m_Phi2
double DiTauMassTools::MissingMassCalculator::m_Phi2 {} |
|
private |
◆ m_Phi20
double DiTauMassTools::MissingMassCalculator::m_Phi20 {} |
|
private |
◆ m_Phi2Max
double DiTauMassTools::MissingMassCalculator::m_Phi2Max {} |
|
private |
◆ m_Phi2Min
double DiTauMassTools::MissingMassCalculator::m_Phi2Min {} |
|
private |
◆ m_Phi2Range
double DiTauMassTools::MissingMassCalculator::m_Phi2Range {} |
|
private |
◆ m_Phi2Step
double DiTauMassTools::MissingMassCalculator::m_Phi2Step {} |
|
private |
◆ m_PhiProposal
double DiTauMassTools::MissingMassCalculator::m_PhiProposal {} |
|
private |
◆ m_PrintmInvWidth2Error
double DiTauMassTools::MissingMassCalculator::m_PrintmInvWidth2Error {} |
|
private |
◆ m_PrintmMaxError
double DiTauMassTools::MissingMassCalculator::m_PrintmMaxError {} |
|
private |
◆ m_PrintmMeanError
double DiTauMassTools::MissingMassCalculator::m_PrintmMeanError {} |
|
private |
◆ m_prob_tmp
double DiTauMassTools::MissingMassCalculator::m_prob_tmp {} |
|
private |
◆ m_probFinalSolOldVec
std::vector<double> DiTauMassTools::MissingMassCalculator::m_probFinalSolOldVec |
|
private |
◆ m_probFinalSolVec
std::vector<double> DiTauMassTools::MissingMassCalculator::m_probFinalSolVec |
|
private |
◆ m_ProposalTryEtau
double DiTauMassTools::MissingMassCalculator::m_ProposalTryEtau {} |
|
private |
◆ m_proposalTryMEt
double DiTauMassTools::MissingMassCalculator::m_proposalTryMEt {} |
|
private |
◆ m_ProposalTryMnu
double DiTauMassTools::MissingMassCalculator::m_ProposalTryMnu {} |
|
private |
◆ m_ProposalTryPhi
double DiTauMassTools::MissingMassCalculator::m_ProposalTryPhi {} |
|
private |
◆ m_randomGen
TRandom2 DiTauMassTools::MissingMassCalculator::m_randomGen |
|
private |
◆ m_reRunWithBestMET
bool DiTauMassTools::MissingMassCalculator::m_reRunWithBestMET {} |
|
private |
◆ m_rmsStop
int DiTauMassTools::MissingMassCalculator::m_rmsStop {} |
|
private |
◆ m_RMSStop
int DiTauMassTools::MissingMassCalculator::m_RMSStop {} |
|
private |
◆ m_RndmSeedAltering
int DiTauMassTools::MissingMassCalculator::m_RndmSeedAltering {} |
|
private |
◆ m_SaveLlhHisto
bool DiTauMassTools::MissingMassCalculator::m_SaveLlhHisto |
|
private |
◆ m_scanMnu1
bool DiTauMassTools::MissingMassCalculator::m_scanMnu1 {} |
|
private |
◆ m_scanMnu2
bool DiTauMassTools::MissingMassCalculator::m_scanMnu2 {} |
|
private |
◆ m_seed
int DiTauMassTools::MissingMassCalculator::m_seed {} |
|
private |
◆ m_sinPhi1
double DiTauMassTools::MissingMassCalculator::m_sinPhi1 {} |
|
private |
◆ m_sinPhi2
double DiTauMassTools::MissingMassCalculator::m_sinPhi2 {} |
|
private |
◆ m_switch1
bool DiTauMassTools::MissingMassCalculator::m_switch1 {} |
|
private |
◆ m_switch2
bool DiTauMassTools::MissingMassCalculator::m_switch2 {} |
|
private |
◆ m_tautau_tmp
PtEtaPhiMVector DiTauMassTools::MissingMassCalculator::m_tautau_tmp |
|
private |
◆ m_tauVec1
PtEtaPhiMVector DiTauMassTools::MissingMassCalculator::m_tauVec1 |
|
private |
◆ m_tauVec1E
double DiTauMassTools::MissingMassCalculator::m_tauVec1E {} |
|
private |
◆ m_tauVec1M
double DiTauMassTools::MissingMassCalculator::m_tauVec1M {} |
|
private |
◆ m_tauVec1P
double DiTauMassTools::MissingMassCalculator::m_tauVec1P {} |
|
private |
◆ m_tauVec1Phi
double DiTauMassTools::MissingMassCalculator::m_tauVec1Phi {} |
|
private |
◆ m_tauVec1Px
double DiTauMassTools::MissingMassCalculator::m_tauVec1Px {} |
|
private |
◆ m_tauVec1Py
double DiTauMassTools::MissingMassCalculator::m_tauVec1Py {} |
|
private |
◆ m_tauVec1Pz
double DiTauMassTools::MissingMassCalculator::m_tauVec1Pz {} |
|
private |
◆ m_tauVec2
PtEtaPhiMVector DiTauMassTools::MissingMassCalculator::m_tauVec2 |
|
private |
◆ m_tauVec2E
double DiTauMassTools::MissingMassCalculator::m_tauVec2E {} |
|
private |
◆ m_tauVec2M
double DiTauMassTools::MissingMassCalculator::m_tauVec2M {} |
|
private |
◆ m_tauVec2P
double DiTauMassTools::MissingMassCalculator::m_tauVec2P {} |
|
private |
◆ m_tauVec2Phi
double DiTauMassTools::MissingMassCalculator::m_tauVec2Phi {} |
|
private |
◆ m_tauVec2Px
double DiTauMassTools::MissingMassCalculator::m_tauVec2Px {} |
|
private |
◆ m_tauVec2Py
double DiTauMassTools::MissingMassCalculator::m_tauVec2Py {} |
|
private |
◆ m_tauVec2Pz
double DiTauMassTools::MissingMassCalculator::m_tauVec2Pz {} |
|
private |
◆ m_tauvecprob1
std::vector<double> DiTauMassTools::MissingMassCalculator::m_tauvecprob1 |
|
private |
◆ m_tauvecprob2
std::vector<double> DiTauMassTools::MissingMassCalculator::m_tauvecprob2 |
|
private |
◆ m_tauvecsol1
std::vector<PtEtaPhiMVector> DiTauMassTools::MissingMassCalculator::m_tauvecsol1 |
|
private |
◆ m_tauvecsol2
std::vector<PtEtaPhiMVector> DiTauMassTools::MissingMassCalculator::m_tauvecsol2 |
|
private |
◆ m_testdiscri1
int DiTauMassTools::MissingMassCalculator::m_testdiscri1 {} |
|
private |
◆ m_testdiscri2
int DiTauMassTools::MissingMassCalculator::m_testdiscri2 {} |
|
private |
◆ m_testptn1
int DiTauMassTools::MissingMassCalculator::m_testptn1 {} |
|
private |
◆ m_testptn2
int DiTauMassTools::MissingMassCalculator::m_testptn2 {} |
|
private |
◆ m_TLVdummy
PtEtaPhiMVector DiTauMassTools::MissingMassCalculator::m_TLVdummy |
|
private |
◆ m_totalProbSum
double DiTauMassTools::MissingMassCalculator::m_totalProbSum {} |
|
private |
◆ m_walkWeight
double DiTauMassTools::MissingMassCalculator::m_walkWeight {} |
|
private |
◆ metvec_tmp
XYVector DiTauMassTools::MissingMassCalculator::metvec_tmp |
◆ OutputInfo
◆ preparedInput
◆ Prob
The documentation for this class was generated from the following files:
JetConstituentVector::iterator iterator
path
python interpreter configuration --------------------------------------—
__HOSTDEV__ double Phi_mpi_pi(double)
@ deltaPhi1
difference between the cluster eta (1st sampling) and the eta of the track extrapolated to the 1st sa...
outFile
Comment Out Those You do not wish to run.
std::string to_string(const DetectorType &type)
@ deltaPhi2
difference between the cluster phi (second sampling) and the phi of the track extrapolated to the sec...
Error
The different types of error that can be flagged in the L1TopoRDO.
constexpr int pow(int base, int exp) noexcept