ATLAS Offline Software
MissingMassCalculator.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 /*
6 ------ MissingMassCalculator
7 ------ Author: Aliaksandr Pranko (appranko@lbl.gov)
8 ------ Code developers: David Rousseau (rousseau@lal.in2p3.fr), Dimitris Varouchas (Dimitris.Varouchas@cern.ch)
9 MissingMassCalculator is designed to reconstruct mass in
10 events where two particles decay into states with missing ET.
11 */
12 #ifndef MissingMassCalculator_h
13 #define MissingMassCalculator_h
14 
15 
16 
17 #if !defined (__CINT__) || defined (__MAKECINT__)
18 
19 #include <TRandom2.h>
20 #include <TH1.h>
21 #include <TGraph.h>
22 #include <TF1.h>
23 #include <TMath.h>
24 #include <Math/Vector4D.h>
25 #include <Math/Vector2D.h>
26 #include <vector>
27 #include <TObject.h>
28 #include <TDirectory.h>
29 
30 #include <memory>
31 #include <string>
32 
37 
39 
40 #endif
41 
42 
43 namespace DiTauMassTools{
44  using ROOT::Math::PtEtaPhiMVector;
45 
47 
48  public:
49 
50  private:
51 
52  //---------------- structures
53  struct DitauStuff {
54  double Mditau_best{}; // best fitted M(ditau)
55  double Sign_best{}; // best significance of M(ditau) fit
56  PtEtaPhiMVector nutau1; // fitted 4-vec for neutrino from tau-1
57  PtEtaPhiMVector nutau2; // fitted 4-vec for neutrino from tau-2
58  PtEtaPhiMVector vistau1; // fitted 4-vec for visible tau-1
59  PtEtaPhiMVector vistau2; // fitted 4-vec for visible tau-2
60  double RMSoverMPV{};
61  };
62 
63  TRandom2 m_randomGen;
64 
66 
67  bool m_fUseEfficiencyRecovery{}; // switch to turn ON/OFF re-fit in order to recover efficiency
68  bool m_fUseFloatStopping{}; // switch to turn ON/OFF floating stopping criterion
72 
75  int m_nsucStop{};
76  int m_rmsStop{};
77  double m_meanbinStop{};
78 
79  // these are temporary vectors. Declared globally to avoid construction/destruction
80  std::vector<PtEtaPhiMVector> m_nuvecsol1;
81  std::vector<PtEtaPhiMVector> m_nuvecsol2;
82 
83  std::vector<PtEtaPhiMVector> m_tauvecsol1;
84  std::vector<PtEtaPhiMVector> m_tauvecsol2;
85  std::vector<double> m_tauvecprob1;
86  std::vector<double> m_tauvecprob2;
87 
88  std::vector<PtEtaPhiMVector> m_nuvec1_tmp;
89  std::vector<PtEtaPhiMVector> m_nuvec2_tmp;
90 
91  PtEtaPhiMVector m_tautau_tmp;
92 
94 
96 
99  double m_nsigma_METscan_lfv_lh{}, m_beamEnergy{}; // number of sigmas for MET-scan
100 
103 
104  double m_prob_tmp{};
105 
106  double m_totalProbSum{};
107  double m_mtautauSum{};
108 
110  int m_seed{};
111  // data member for the spaceWalker approach
112 
113  int m_iter0{};
114  int m_iterNuPV3{};
115  int m_testptn1{};
116  int m_testptn2{};
119  int m_nosol1{};
120  int m_nosol2{};
121  int m_iterNsuc{};
122  bool m_switch1{};
123  bool m_switch2{};
124 
126 
132 
136 
141 
142 
143  double m_mTau{},m_mTau2{};
144  double m_MEtL{},m_MEtP{},m_Phi1{},m_Phi2{},m_Mnu1{},m_Mnu2{};
145  double m_eTau1{}, m_eTau2{};
146  double m_eTau10{}, m_eTau20{};
155 
160  int m_nsolOld{};
161  std::vector<double> m_probFinalSolOldVec;
162  std::vector<double> m_mtautauFinalSolOldVec;
163  std::vector<PtEtaPhiMVector> m_nu1FinalSolOldVec;
164  std::vector<PtEtaPhiMVector> m_nu2FinalSolOldVec;
165 
166  int m_nsol{};
167  std::vector<double> m_probFinalSolVec;
168  std::vector<double> m_mtautauFinalSolVec;
169  std::vector<PtEtaPhiMVector> m_nu1FinalSolVec;
170  std::vector<PtEtaPhiMVector> m_nu2FinalSolVec;
171 
172 
175  double m_walkWeight{};
177 
179 
180  PtEtaPhiMVector m_tauVec1,m_tauVec2;
182  double m_tauVec1M{}, m_tauVec2M{};
185  double m_tauVec1P{}, m_tauVec2P{};
186  double m_tauVec1E{};
187  double m_tauVec2E{};
188  double m_m2Nu1{};
189  double m_m2Nu2{};
190  double m_ET2v1{};
191  double m_ET2v2{};
192  double m_E2v1{};
193  double m_E2v2{};
194  double m_Ev2{};
195  double m_Ev1{};
196  double m_Mvis{},m_Meff{};
198 
199  //--- define histograms for histogram method
200  //--- upper limits need to be revisied in the future!!! It may be not enough for some analyses
201  std::shared_ptr<TH1F> m_fMfit_all;
202  std::shared_ptr<TH1F> m_fMEtP_all;
203  std::shared_ptr<TH1F> m_fMEtL_all;
204  std::shared_ptr<TH1F> m_fMnu1_all;
205  std::shared_ptr<TH1F> m_fMnu2_all;
206  std::shared_ptr<TH1F> m_fPhi1_all;
207  std::shared_ptr<TH1F> m_fPhi2_all;
208  std::shared_ptr<TGraph> m_fMfit_allGraph;
209  std::shared_ptr<TH1F> m_fMfit_allNoWeight;
210 
211  std::shared_ptr<TH1F> m_fPXfit1;
212  std::shared_ptr<TH1F> m_fPYfit1;
213  std::shared_ptr<TH1F> m_fPZfit1;
214  std::shared_ptr<TH1F> m_fPXfit2;
215  std::shared_ptr<TH1F> m_fPYfit2;
216  std::shared_ptr<TH1F> m_fPZfit2;
217 
218  // these histograms are used for the floating stopping criterion
219  std::shared_ptr<TH1F> m_fMmass_split1;
220  std::shared_ptr<TH1F> m_fMEtP_split1;
221  std::shared_ptr<TH1F> m_fMEtL_split1;
222  std::shared_ptr<TH1F> m_fMnu1_split1;
223  std::shared_ptr<TH1F> m_fMnu2_split1;
224  std::shared_ptr<TH1F> m_fPhi1_split1;
225  std::shared_ptr<TH1F> m_fPhi2_split1;
226  std::shared_ptr<TH1F> m_fMmass_split2;
227  std::shared_ptr<TH1F> m_fMEtP_split2;
228  std::shared_ptr<TH1F> m_fMEtL_split2;
229  std::shared_ptr<TH1F> m_fMnu1_split2;
230  std::shared_ptr<TH1F> m_fMnu2_split2;
231  std::shared_ptr<TH1F> m_fPhi1_split2;
232  std::shared_ptr<TH1F> m_fPhi2_split2;
233 
234  TF1 *m_fFitting{};
235 
244 
245  // for intermediate calc
246  PtEtaPhiMVector m_TLVdummy;
247 
248  //---------------- protected variables
249  DitauStuff m_fDitauStuffFit; // results based on fit method
250  DitauStuff m_fDitauStuffHisto; // results based on histo method
251 
252  int m_niter_fit1{}; // number of iterations for dR-dPhi scan
253  int m_niter_fit2{}; // number of iterations for MET-scan
254  int m_niter_fit3{}; // number of iterations for Mnu-scan
255  int m_NiterRandom{}; // number of random iterations (for lh, multiply or divide by 10 for ll and hh)
256  int m_NsucStop{};
257  int m_RMSStop{};
258  int m_RndmSeedAltering{}; // reset seed (not necessary by default)
259 
260  double m_dTheta3d_binMin{}; // minimal step size for dTheta3D
261  double m_dTheta3d_binMax{}; // maximum step size for dTheta3D
262  double m_dRmax_tau{}; // maximum dR(nu-visTau)
263 
264  double m_MnuScanRange{}; // range of M(nunu) scan; M(nunu) range can be affected by selection cuts
265 
266 
267  //---------------- protected functions
268  void ClearDitauStuff(DitauStuff &fStuff);
269  void DoOutputInfo();
270  void PrintOtherInput();
271  void PrintResults();
272 
273  inline int NuPsolutionV3(const double & mNu1, const double & mNu2, const double & phi1, const double & phi2,
274  int & nsol1, int & nsol2);
275 
276  inline int NuPsolutionLFV(const XYVector & met_vec, const PtEtaPhiMVector & tau,
277  const double & m_nu, std::vector<PtEtaPhiMVector> &nu_vec);
278 
279 
280  protected:
281  inline int CheckSolutions(PtEtaPhiMVector nu_vec, PtEtaPhiMVector vis_vec, int decayType);
282  inline int TailCleanUp(const PtEtaPhiMVector & vis1, const PtEtaPhiMVector & nu1,
283  const PtEtaPhiMVector & vis2, const PtEtaPhiMVector & nu2,
284  const double & mmc_mass, const double & vis_mass, const double & eff_mass, const double & dphiTT);
285 
286 
287  inline int refineSolutions ( const double & M_nu1, const double & M_nu2,
288  const int nsol1, const int nsol2,
289  const double & Mvis, const double & Meff);
290 
291 
292 
293  inline void handleSolutions();
294 
295  inline double MassScale(int method, double mass, const int & tau_type1, const int & tau_type2);
296 
297 
298  // factor out parameter space walking and probablity computing
299  inline int DitauMassCalculatorV9walk();
300 
301 
302  // Calculates mass of lep+tau system in LFV X->lep+tau decays
303  // It is based on DitauMassCalculatorV9, not optimized for speed yet, simple phase-space scan
304  inline int DitauMassCalculatorV9lfv(bool refit);
305 
306 
307 
308  // only compute probability
309  inline int probCalculatorV9fast(
310  const double & phi1, const double & phi2,
311  const double & M_nu1, const double & M_nu2);
312 
313  // initialize the walker
314  inline void SpaceWalkerInit();
315 
316  //walk the walker
317  inline bool SpaceWalkerWalk();
318 
319  inline bool precomputeCache();
320 
321 
322  inline bool checkMEtInRange () ;
323  inline bool checkAllParamInRange () ;
324 
325  //----------------------------------------------
326  //
327  // ------------ Public methods ---------------
328  //
329  //______________________________________________
330 
331 public:
332 
334 
335  MissingMassCalculator(MMCCalibrationSet::e aset, std::string paramFilePath) ;
336 
339 
343 
344  int RunMissingMassCalculator( const xAOD::IParticle* part1, const xAOD::IParticle* part2, const xAOD::MissingET* met, const int& njets );
345 
346  //-------- Set Input Parameters
347  void FinalizeSettings(const xAOD::IParticle* part1, const xAOD::IParticle* part2, const xAOD::MissingET* met, const int& njets );
348  void SetNiterFit1(const int val) { m_niter_fit1=val; } // number of iterations per loop in dPhi loop
349  void SetNiterFit2(const int val) { m_niter_fit2=val; } // number of iterations per loop in MET loop
350  void SetNiterFit3(const int val) { m_niter_fit3=val; } // number of iterations per loop in Mnu loop
351  void SetNiterRandom(const int val) { m_NiterRandom=val; } // number of random iterations
352  void SetNsucStop(const int val) { m_NsucStop=val; } // Arrest criteria for Nsuccesses
353  void SetRMSStop(const int val) { m_RMSStop=val;}
354  void SetMeanbinStop(const double val) {m_meanbinStop=val;}
355  void SetRndmSeedAltering(const int val) { m_RndmSeedAltering=val; } // number of iterations per loop in Mnu loop
356  void SetdTheta3d_binMax(const double val) { m_dTheta3d_binMax=val; } // maximum step size for dTheta3D
357  void SetdTheta3d_binMin(const double val) { m_dTheta3d_binMin=val; } // minimal step size for dTheta3D
359 
360  void SetMnuScanRange(const double val) { m_MnuScanRange=val; }
361 
362  void SetProposalTryMEt(const double val) {m_proposalTryMEt=val; }
366 
369 
370  int GetNiterFit1() const { return m_niter_fit1; } // number of iterations per loop in dPhi loop
371  int GetNiterFit2() const { return m_niter_fit2; } // number of iterations per loop in MET loop
372  int GetNiterFit3() const { return m_niter_fit3; } // number of iterations per loop in Mnu loop
373  int GetNiterRandom() const { return m_niterRandomLocal; } // number of random iterations
374 
375  int GetNsucStop() const { return m_NsucStop; } // Arrest criteria for NSuc
376  int GetRMSStop() const { return m_RMSStop; }
377  double GetMeanbinStop() const { return m_meanbinStop;}
378  int GetRndmSeedAltering() const { return m_RndmSeedAltering; } // number of iterations per loop in Mnu loop
379 
383  int GetMarkovNAccept() const { return m_markovNAccept; }
384  int GetMarkovNFullscan() const { return m_markovNFullScan;}
385  double GetProposalTryMEt() const {return m_proposalTryMEt;}
386  double GetProposalTryPhi() const {return m_ProposalTryPhi;}
387  double GetProposalTryMnu() const {return m_ProposalTryMnu;}
388  double GetProposalTryEtau() const {return m_ProposalTryEtau;}
389 
390  void SetNsigmaMETscan_ll(const double val) { m_nsigma_METscan_ll=val; } // number of sigma's for MET-scan in ll events
391  void SetNsigmaMETscan_lh(const double val) { m_nsigma_METscan_lh=val; } // number of sigma's for MET-scan in lh events
392  void SetNsigmaMETscan_hh(const double val) { m_nsigma_METscan_hh=val; } // number of sigma's for MET-scan in hh events
393  void SetNsigmaMETscan(const double val) { m_nsigma_METscan=val; } // number of sigma's for MET-scan
394 
395  void SetUseFloatStopping(const bool val); // switch for floating stopping criterion
399  void SetBeamEnergy(const double val) { m_beamEnergy=val; }
401  void SaveLlhHisto(const bool val);
402 
403  double GetmMaxError() const {return m_PrintmMaxError;}
404  double GetmMeanError() const { return m_PrintmMeanError;}
406 
407  int GetNNoSol() const {return m_markovNRejectNoSol;}
409  int GetNSol() const {return m_markovNAccept;}
410 
411 
412  //-------- Get results;
413  Double_t maxFitting(Double_t *x, Double_t *par);
414 
415  // compute maximum from histo
416  double maxFromHist(TH1F *theHist, std::vector<double> & histInfo, const MaxHistStrategy::e maxHistStrategy=MaxHistStrategy::FIT,const int winHalfWidth=2,bool debug=false);
417  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) {
418  return maxFromHist(theHist.get(), histInfo, maxHistStrategy, winHalfWidth, debug);
419  }
420 
421  XYVector metvec_tmp;
422  inline double dTheta3DLimit(const int & tau_type, const int & limit_code,const double & P_tau);
423 
424 };
425 } // namespace DiTauMassTools
426 
427 #endif
RunTileTBRec.method
method
Definition: RunTileTBRec.py:73
DiTauMassTools::MissingMassCalculator::GetNiterRandom
int GetNiterRandom() const
Definition: MissingMassCalculator.h:373
DiTauMassTools::MissingMassCalculator::GetNiterFit1
int GetNiterFit1() const
Definition: MissingMassCalculator.h:370
DiTauMassTools::MissingMassCalculator::GetProposalTryEtau
double GetProposalTryEtau() const
Definition: MissingMassCalculator.h:388
DiTauMassTools::MissingMassCalculator::GetMeanbinStop
double GetMeanbinStop() const
Definition: MissingMassCalculator.h:377
DiTauMassTools::MissingMassCalculator::DitauStuff::Mditau_best
double Mditau_best
Definition: MissingMassCalculator.h:54
DiTauMassTools::MissingMassCalculator::m_Phi1
double m_Phi1
Definition: MissingMassCalculator.h:144
DiTauMassTools::MissingMassCalculator::SetProposalTryPhi
void SetProposalTryPhi(const double val)
Definition: MissingMassCalculator.h:363
DiTauMassTools::MissingMassCalculator::m_fFitting
TF1 * m_fFitting
Definition: MissingMassCalculator.h:234
DiTauMassTools::MissingMassCalculator::SetMeanbinStop
void SetMeanbinStop(const double val)
Definition: MissingMassCalculator.h:354
MissingMassProb.h
DiTauMassTools::MissingMassCalculator::NuPsolutionLFV
int NuPsolutionLFV(const XYVector &met_vec, const PtEtaPhiMVector &tau, const double &m_nu, std::vector< PtEtaPhiMVector > &nu_vec)
Definition: MissingMassCalculator.cxx:755
DiTauMassTools::MissingMassCalculator::m_fMnu1_split2
std::shared_ptr< TH1F > m_fMnu1_split2
Definition: MissingMassCalculator.h:229
DiTauMassTools::MissingMassCalculator::m_testdiscri2
int m_testdiscri2
Definition: MissingMassCalculator.h:118
DiTauMassTools::MissingMassCalculator::m_eTau2
double m_eTau2
Definition: MissingMassCalculator.h:145
DiTauMassTools::MissingMassCalculator::SetRndmSeedAltering
void SetRndmSeedAltering(const int val)
Definition: MissingMassCalculator.h:355
DiTauMassTools::MissingMassCalculator::m_tautau_tmp
PtEtaPhiMVector m_tautau_tmp
Definition: MissingMassCalculator.h:91
DiTauMassTools::MissingMassCalculator::m_switch2
bool m_switch2
Definition: MissingMassCalculator.h:123
DiTauMassTools::MissingMassCalculator::SaveLlhHisto
void SaveLlhHisto(const bool val)
Definition: MissingMassCalculator.cxx:3097
DiTauMassTools::MissingMassCalculator::m_Phi1Step
double m_Phi1Step
Definition: MissingMassCalculator.h:150
DiTauMassTools::MissingMassCalculator::m_nuvecsol1
std::vector< PtEtaPhiMVector > m_nuvecsol1
Definition: MissingMassCalculator.h:80
DiTauMassTools::MaxHistStrategy::e
e
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:30
DiTauMassTools::MissingMassCalculator::m_iang2low
int m_iang2low
Definition: MissingMassCalculator.h:101
DiTauMassTools::MissingMassCalculator::SpaceWalkerInit
void SpaceWalkerInit()
Definition: MissingMassCalculator.cxx:2317
DiTauMassTools::MissingMassCalculator::GetMarkovNRejectNoSol
int GetMarkovNRejectNoSol() const
Definition: MissingMassCalculator.h:381
DiTauMassTools::MissingMassCalculator::m_MEtPMax
double m_MEtPMax
Definition: MissingMassCalculator.h:149
DiTauMassTools::MissingMassCalculator::m_fMnu2_split2
std::shared_ptr< TH1F > m_fMnu2_split2
Definition: MissingMassCalculator.h:230
DiTauMassTools::MissingMassCalculator::SetNsigmaMETscan
void SetNsigmaMETscan(const double val)
Definition: MissingMassCalculator.h:393
DiTauMassTools::MissingMassCalculator::precomputeCache
bool precomputeCache()
Definition: MissingMassCalculator.cxx:2621
DiTauMassTools::MissingMassCalculator::m_MEtL0
double m_MEtL0
Definition: MissingMassCalculator.h:147
DiTauMassTools::MissingMassCalculator::NuPsolutionV3
int NuPsolutionV3(const double &mNu1, const double &mNu2, const double &phi1, const double &phi2, int &nsol1, int &nsol2)
Definition: MissingMassCalculator.cxx:550
DiTauMassTools::MissingMassCalculator::DitauStuff::nutau1
PtEtaPhiMVector nutau1
Definition: MissingMassCalculator.h:56
DiTauMassTools::MissingMassCalculator::m_ProposalTryPhi
double m_ProposalTryPhi
Definition: MissingMassCalculator.h:138
DiTauMassTools::MissingMassCalculator::GetNiterFit3
int GetNiterFit3() const
Definition: MissingMassCalculator.h:372
DiTauMassTools::MissingMassCalculator::m_nosol2
int m_nosol2
Definition: MissingMassCalculator.h:120
DiTauMassTools::MissingMassCalculator::GetMarkovNRejectMetropolis
int GetMarkovNRejectMetropolis() const
Definition: MissingMassCalculator.h:382
DiTauMassTools::MissingMassCalculator::m_MEtLStep
double m_MEtLStep
Definition: MissingMassCalculator.h:150
DiTauMassTools::MissingMassCalculator::m_E2v1
double m_E2v1
Definition: MissingMassCalculator.h:192
DiTauMassTools::MissingMassCalculator::SetProposalTryMnu
void SetProposalTryMnu(const double val)
Definition: MissingMassCalculator.h:364
DiTauMassTools::MissingMassCalculator::m_fMnu2_all
std::shared_ptr< TH1F > m_fMnu2_all
Definition: MissingMassCalculator.h:205
DiTauMassTools::MissingMassCalculator::m_fDitauStuffHisto
DitauStuff m_fDitauStuffHisto
Definition: MissingMassCalculator.h:250
DiTauMassTools::MissingMassCalculator::operator=
MissingMassCalculator & operator=(const MissingMassCalculator &)=delete
DiTauMassTools::MissingMassCalculator::m_fMnu2
TH1F * m_fMnu2
Definition: MissingMassCalculator.h:239
Base_Fragment.mass
mass
Definition: Sherpa_i/share/common/Base_Fragment.py:59
DiTauMassTools::MissingMassCalculator::m_iter5
int m_iter5
Definition: MissingMassCalculator.h:101
DiTauMassTools::MissingMassCalculator::m_tauvecprob1
std::vector< double > m_tauvecprob1
Definition: MissingMassCalculator.h:85
DiTauMassTools::MissingMassCalculator::m_PrintmMaxError
double m_PrintmMaxError
Definition: MissingMassCalculator.h:133
DiTauMassTools::MissingMassCalculator::m_m2Nu1
double m_m2Nu1
Definition: MissingMassCalculator.h:188
DiTauMassTools::MissingMassCalculator::m_Ev2
double m_Ev2
Definition: MissingMassCalculator.h:194
DiTauMassTools::MissingMassCalculator::m_Phi2Max
double m_Phi2Max
Definition: MissingMassCalculator.h:149
DiTauMassTools::MissingMassCalculator::m_tauVec2Phi
double m_tauVec2Phi
Definition: MissingMassCalculator.h:181
DiTauMassTools::MissingMassCalculator::m_fMEtL_split1
std::shared_ptr< TH1F > m_fMEtL_split1
Definition: MissingMassCalculator.h:221
DiTauMassTools::MissingMassCalculator::SetNiterFit2
void SetNiterFit2(const int val)
Definition: MissingMassCalculator.h:349
DiTauMassTools::MissingMassCalculator::m_fPhi2_split1
std::shared_ptr< TH1F > m_fPhi2_split1
Definition: MissingMassCalculator.h:225
DiTauMassTools::MissingMassCalculator::m_lfvLeplepRefit
bool m_lfvLeplepRefit
Definition: MissingMassCalculator.h:93
DiTauMassTools::MissingMassCalculator::refineSolutions
int refineSolutions(const double &M_nu1, const double &M_nu2, const int nsol1, const int nsol2, const double &Mvis, const double &Meff)
Definition: MissingMassCalculator.cxx:1821
DiTauMassTools::MissingMassCalculator::GetNiterFit2
int GetNiterFit2() const
Definition: MissingMassCalculator.h:371
DiTauMassTools::MissingMassCalculator::m_metCovPhiCos
double m_metCovPhiCos
Definition: MissingMassCalculator.h:153
DiTauMassTools::MissingMassCalculator::m_eventNumber
int m_eventNumber
Definition: MissingMassCalculator.h:109
DiTauMassTools::MissingMassCalculator::DitauMassCalculatorV9lfv
int DitauMassCalculatorV9lfv(bool refit)
Definition: MissingMassCalculator.cxx:1014
DiTauMassTools::MissingMassCalculator::m_TLVdummy
PtEtaPhiMVector m_TLVdummy
Definition: MissingMassCalculator.h:246
DiTauMassTools::MissingMassCalculator::m_niter_fit2
int m_niter_fit2
Definition: MissingMassCalculator.h:253
DiTauMassTools::MissingMassCalculator::SetFloatStoppingCheckFreq
void SetFloatStoppingCheckFreq(const int val)
Definition: MissingMassCalculator.h:397
DiTauMassTools::MissingMassCalculator::m_tauVec1
PtEtaPhiMVector m_tauVec1
Definition: MissingMassCalculator.h:180
DiTauMassTools::MissingMassCalculator::DitauStuff::vistau2
PtEtaPhiMVector vistau2
Definition: MissingMassCalculator.h:59
DiTauMassTools::MissingMassCalculator::m_nsolOld
int m_nsolOld
Definition: MissingMassCalculator.h:160
DiTauMassTools::MissingMassCalculator::m_Mvis
double m_Mvis
Definition: MissingMassCalculator.h:196
DiTauMassTools::MissingMassCalculator::SetNiterRandom
void SetNiterRandom(const int val)
Definition: MissingMassCalculator.h:351
DiTauMassTools::MissingMassCalculator::PrintOtherInput
void PrintOtherInput()
Definition: MissingMassCalculator.cxx:403
DiTauMassTools::MissingMassCalculator::GetProposalTryMEt
double GetProposalTryMEt() const
Definition: MissingMassCalculator.h:385
DiTauMassTools::MissingMassCalculator::m_PhiProposal
double m_PhiProposal
Definition: MissingMassCalculator.h:152
DiTauMassTools::MissingMassCalculator::m_fPYfit2
std::shared_ptr< TH1F > m_fPYfit2
Definition: MissingMassCalculator.h:215
DiTauMassTools::MissingMassCalculator::SetUseEfficiencyRecovery
void SetUseEfficiencyRecovery(const bool val)
Definition: MissingMassCalculator.h:367
DiTauMassTools::MissingMassCalculator::m_fPhi1_all
std::shared_ptr< TH1F > m_fPhi1_all
Definition: MissingMassCalculator.h:206
HelperFunctions.h
DiTauMassTools::MissingMassCalculator::m_fMnu1
TH1F * m_fMnu1
Definition: MissingMassCalculator.h:238
DiTauMassTools::MissingMassCalculator::DitauStuff::vistau1
PtEtaPhiMVector vistau1
Definition: MissingMassCalculator.h:58
DiTauMassTools::MissingMassCalculator::m_Phi2
double m_Phi2
Definition: MissingMassCalculator.h:144
DiTauMassTools::MissingMassCalculator::GetMarkovCountDuplicate
int GetMarkovCountDuplicate() const
Definition: MissingMassCalculator.h:380
DiTauMassTools::MissingMassCalculator::m_meanbinToBeEvaluated
bool m_meanbinToBeEvaluated
Definition: MissingMassCalculator.h:125
DiTauMassTools::MissingMassCalculator::m_tauVec2
PtEtaPhiMVector m_tauVec2
Definition: MissingMassCalculator.h:180
DiTauMassTools::MissingMassCalculator::m_fPXfit2
std::shared_ptr< TH1F > m_fPXfit2
Definition: MissingMassCalculator.h:214
DiTauMassTools::MissingMassCalculator::m_nsigma_METscan_lfv_ll
double m_nsigma_METscan_lfv_ll
Definition: MissingMassCalculator.h:98
DiTauMassTools::MissingMassCalculator::m_ET2v2
double m_ET2v2
Definition: MissingMassCalculator.h:191
DiTauMassTools::MissingMassCalculator::m_MEtLMin
double m_MEtLMin
Definition: MissingMassCalculator.h:148
DiTauMassTools::MissingMassCalculator::m_fTheta3D
TH1F * m_fTheta3D
Definition: MissingMassCalculator.h:242
DiTauMassTools::MissingMassCalculator::SetEventNumber
void SetEventNumber(const int eventNumber)
Definition: MissingMassCalculator.h:358
DiTauMassTools::MissingMassCalculator::m_mmcCalibrationSet
MMCCalibrationSet::e m_mmcCalibrationSet
Definition: MissingMassCalculator.h:65
DiTauMassTools::MissingMassCalculator::SetNiterFit3
void SetNiterFit3(const int val)
Definition: MissingMassCalculator.h:350
DiTauMassTools::MissingMassCalculator::MissingMassCalculator
MissingMassCalculator(const MissingMassCalculator &)=delete
DiTauMassTools::MissingMassCalculator::m_niterRandomLocal
int m_niterRandomLocal
Definition: MissingMassCalculator.h:74
DiTauMassTools::MissingMassCalculator::m_nsigma_METscan_hh
double m_nsigma_METscan_hh
Definition: MissingMassCalculator.h:98
DiTauMassTools::MissingMassCalculator::m_iang1low
int m_iang1low
Definition: MissingMassCalculator.h:101
DiTauMassTools::MissingMassCalculator::m_MEtP0
double m_MEtP0
Definition: MissingMassCalculator.h:147
DiTauMassTools::MissingMassCalculator::m_fullParamSpaceScan
bool m_fullParamSpaceScan
Definition: MissingMassCalculator.h:158
DiTauMassTools::MissingMassCalculator::m_Mnu1XMax
double m_Mnu1XMax
Definition: MissingMassCalculator.h:174
DiTauMassTools::MissingMassCalculator::m_Mnu2Max
double m_Mnu2Max
Definition: MissingMassCalculator.h:149
DiTauMassTools::MissingMassCalculator::m_Phi20
double m_Phi20
Definition: MissingMassCalculator.h:147
DiTauMassTools::MissingMassCalculator::m_tauVec1M
double m_tauVec1M
Definition: MissingMassCalculator.h:182
DiTauMassTools::MissingMassCalculator::m_cosPhi2
double m_cosPhi2
Definition: MissingMassCalculator.h:176
DiTauMassTools::MissingMassCalculator::m_nsigma_METscan2
double m_nsigma_METscan2
Definition: MissingMassCalculator.h:97
DiTauMassTools::MissingMassCalculator::m_fUseFloatStoppingComp
double m_fUseFloatStoppingComp
Definition: MissingMassCalculator.h:71
DiTauMassTools::MissingMassCalculator::m_MEtP
double m_MEtP
Definition: MissingMassCalculator.h:144
DiTauMassTools::MissingMassCalculator::m_tauVec2Py
double m_tauVec2Py
Definition: MissingMassCalculator.h:184
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:41
DiTauMassTools::MissingMassCalculator::m_iterNuPV3
int m_iterNuPV3
Definition: MissingMassCalculator.h:114
DiTauMassTools::MissingMassCalculator::m_nsucStop
int m_nsucStop
Definition: MissingMassCalculator.h:75
x
#define x
DiTauMassTools::MissingMassCalculator::GetmInvWidth2Error
double GetmInvWidth2Error() const
Definition: MissingMassCalculator.h:405
DiTauMassTools::MissingMassCalculator::m_fMEtP_split1
std::shared_ptr< TH1F > m_fMEtP_split1
Definition: MissingMassCalculator.h:220
DiTauMassTools::MissingMassCalculator::m_mTau2
double m_mTau2
Definition: MissingMassCalculator.h:143
DiTauMassTools::MissingMassCalculator::m_fMnu2_split1
std::shared_ptr< TH1F > m_fMnu2_split1
Definition: MissingMassCalculator.h:223
DiTauMassTools::MissingMassCalculator::m_Mnu1XMin
double m_Mnu1XMin
Definition: MissingMassCalculator.h:174
DiTauMassTools::MissingMassCalculator::m_fMEtP_all
std::shared_ptr< TH1F > m_fMEtP_all
Definition: MissingMassCalculator.h:202
DiTauMassTools::MissingMassCalculator::maxFitting
Double_t maxFitting(Double_t *x, Double_t *par)
Definition: MissingMassCalculator.cxx:1499
DiTauMassTools::MissingMassCalculator::SetNsigmaMETscan_ll
void SetNsigmaMETscan_ll(const double val)
Definition: MissingMassCalculator.h:390
DiTauMassTools::MissingMassCalculator::m_fUseFloatStopping
bool m_fUseFloatStopping
Definition: MissingMassCalculator.h:68
DiTauMassTools::MissingMassCalculator::m_Mnu2
double m_Mnu2
Definition: MissingMassCalculator.h:144
DiTauMassTools::MissingMassCalculator::SetProposalTryEtau
void SetProposalTryEtau(const double val)
Definition: MissingMassCalculator.h:365
DiTauMassTools::MissingMassCalculator::m_nsigma_METscan_lh
double m_nsigma_METscan_lh
Definition: MissingMassCalculator.h:98
DiTauMassTools::MissingMassCalculator::m_walkWeight
double m_walkWeight
Definition: MissingMassCalculator.h:175
DiTauMassTools::MissingMassCalculator::m_MEtPMin
double m_MEtPMin
Definition: MissingMassCalculator.h:148
DiTauMassTools::MissingMassCalculator::m_ET2v1
double m_ET2v1
Definition: MissingMassCalculator.h:190
DiTauMassTools::MissingMassCalculator::m_Mnu20
double m_Mnu20
Definition: MissingMassCalculator.h:147
DiTauMassTools::MissingMassCalculator::m_debugThisIteration
bool m_debugThisIteration
Definition: MissingMassCalculator.h:93
DiTauMassTools::MissingMassCalculator::m_fPZfit1
std::shared_ptr< TH1F > m_fPZfit1
Definition: MissingMassCalculator.h:213
DiTauMassTools::MissingMassCalculator
Definition: MissingMassCalculator.h:46
DiTauMassTools::MissingMassCalculator::m_markovNRejectNoSol
int m_markovNRejectNoSol
Definition: MissingMassCalculator.h:129
DiTauMassTools::MissingMassCalculator::m_fMEtL_split2
std::shared_ptr< TH1F > m_fMEtL_split2
Definition: MissingMassCalculator.h:228
DiTauMassTools::MissingMassCalculator::m_Mnu2Min
double m_Mnu2Min
Definition: MissingMassCalculator.h:148
DiTauMassTools::MissingMassCalculator::m_fTauProb
TH1F * m_fTauProb
Definition: MissingMassCalculator.h:243
DiTauMassTools::MissingMassCalculator::MassScale
double MassScale(int method, double mass, const int &tau_type1, const int &tau_type2)
DiTauMassTools::MissingMassCalculator::SpaceWalkerWalk
bool SpaceWalkerWalk()
Definition: MissingMassCalculator.cxx:2497
DiTauMassTools::MissingMassCalculator::m_Mnu1Range
double m_Mnu1Range
Definition: MissingMassCalculator.h:151
DiTauMassTools::MissingMassCalculator::m_ProposalTryMnu
double m_ProposalTryMnu
Definition: MissingMassCalculator.h:139
part1
Definition: part1.py:1
DiTauMassTools
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:24
DiTauMassTools::MissingMassCalculator::m_nsigma_METscan_ll
double m_nsigma_METscan_ll
Definition: MissingMassCalculator.h:97
DiTauMassTools::MissingMassCalculator::m_fPXfit1
std::shared_ptr< TH1F > m_fPXfit1
Definition: MissingMassCalculator.h:211
DiTauMassTools::MissingMassCalculator::m_eTau1Proposal
double m_eTau1Proposal
Definition: MissingMassCalculator.h:154
DiTauMassTools::MissingMassCalculator::m_fMnu1_all
std::shared_ptr< TH1F > m_fMnu1_all
Definition: MissingMassCalculator.h:204
DiTauMassTools::MissingMassCalculator::m_fPhi1_split2
std::shared_ptr< TH1F > m_fPhi1_split2
Definition: MissingMassCalculator.h:231
DiTauMassTools::MissingMassCalculator::m_Mnu10
double m_Mnu10
Definition: MissingMassCalculator.h:147
DiTauMassTools::MissingMassCalculator::m_switch1
bool m_switch1
Definition: MissingMassCalculator.h:122
DiTauMassTools::MissingMassCalculator::SetBeamEnergy
void SetBeamEnergy(const double val)
Definition: MissingMassCalculator.h:399
met
Definition: IMETSignificance.h:24
DiTauMassTools::MissingMassCalculator::m_fMEtP_split2
std::shared_ptr< TH1F > m_fMEtP_split2
Definition: MissingMassCalculator.h:227
DiTauMassTools::MissingMassCalculator::m_Phi10
double m_Phi10
Definition: MissingMassCalculator.h:147
DiTauMassTools::MissingMassCalculator::m_Phi2Step
double m_Phi2Step
Definition: MissingMassCalculator.h:150
DiTauMassTools::MissingMassCalculator::m_nuvecsol2
std::vector< PtEtaPhiMVector > m_nuvecsol2
Definition: MissingMassCalculator.h:81
DiTauMassTools::MissingMassCalculator::m_nCallprobCalculatorV9fast
int m_nCallprobCalculatorV9fast
Definition: MissingMassCalculator.h:95
DiTauMassTools::MissingMassCalculator::m_Mnu1
double m_Mnu1
Definition: MissingMassCalculator.h:144
DiTauMassTools::MissingMassCalculator::preparedInput
MissingMassInput preparedInput
Definition: MissingMassCalculator.h:340
DiTauMassTools::MissingMassCalculator::m_Phi2Min
double m_Phi2Min
Definition: MissingMassCalculator.h:148
DiTauMassTools::MissingMassCalculator::m_fMetx
TH1F * m_fMetx
Definition: MissingMassCalculator.h:240
DiTauMassTools::MissingMassCalculator::GetmMaxError
double GetmMaxError() const
Definition: MissingMassCalculator.h:403
DiTauMassTools::MissingMassCalculator::FinalizeSettings
void FinalizeSettings(const xAOD::IParticle *part1, const xAOD::IParticle *part2, const xAOD::MissingET *met, const int &njets)
Definition: MissingMassCalculator.cxx:2827
DiTauMassTools::MissingMassCalculator::m_fMnu1_split1
std::shared_ptr< TH1F > m_fMnu1_split1
Definition: MissingMassCalculator.h:222
DiTauMassTools::MissingMassCalculator::m_nu1FinalSolOldVec
std::vector< PtEtaPhiMVector > m_nu1FinalSolOldVec
Definition: MissingMassCalculator.h:163
DiTauMassTools::MissingMassCalculator::m_Ev1
double m_Ev1
Definition: MissingMassCalculator.h:195
DiTauMassTools::MissingMassCalculator::SetLFVLeplepRefit
void SetLFVLeplepRefit(const bool val)
Definition: MissingMassCalculator.h:400
DiTauMassTools::MissingMassCalculator::maxFromHist
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)
Definition: MissingMassCalculator.h:417
DiTauMassTools::MissingMassCalculator::m_MnuScanRange
double m_MnuScanRange
Definition: MissingMassCalculator.h:264
DiTauMassTools::MissingMassCalculator::m_tauVec1Pz
double m_tauVec1Pz
Definition: MissingMassCalculator.h:183
DiTauMassTools::MissingMassCalculator::GetMarkovNAccept
int GetMarkovNAccept() const
Definition: MissingMassCalculator.h:383
DiTauMassTools::MissingMassCalculator::m_ProposalTryEtau
double m_ProposalTryEtau
Definition: MissingMassCalculator.h:140
DiTauMassTools::MissingMassCalculator::DitauStuff::nutau2
PtEtaPhiMVector nutau2
Definition: MissingMassCalculator.h:57
DiTauMassTools::MissingMassCalculator::GetUseEfficiencyRecovery
bool GetUseEfficiencyRecovery() const
Definition: MissingMassCalculator.h:368
DiTauMassTools::MissingMassCalculator::~MissingMassCalculator
~MissingMassCalculator()
Definition: MissingMassCalculator.cxx:193
DiTauMassTools::MissingMassCalculator::m_PrintmInvWidth2Error
double m_PrintmInvWidth2Error
Definition: MissingMassCalculator.h:135
DiTauMassTools::MissingMassCalculator::m_niter_fit3
int m_niter_fit3
Definition: MissingMassCalculator.h:254
DiTauMassTools::MissingMassCalculator::m_fMfit_all
std::shared_ptr< TH1F > m_fMfit_all
Definition: MissingMassCalculator.h:201
DiTauMassTools::MissingMassCalculator::m_seed
int m_seed
Definition: MissingMassCalculator.h:110
DiTauMassTools::MissingMassCalculator::m_fPhi2
TH1F * m_fPhi2
Definition: MissingMassCalculator.h:237
DiTauMassTools::MissingMassCalculator::m_tauVec2P
double m_tauVec2P
Definition: MissingMassCalculator.h:185
DiTauMassTools::MissingMassCalculator::probCalculatorV9fast
int probCalculatorV9fast(const double &phi1, const double &phi2, const double &M_nu1, const double &M_nu2)
Definition: MissingMassCalculator.cxx:1795
DiTauMassTools::MissingMassCalculator::m_Phi1Max
double m_Phi1Max
Definition: MissingMassCalculator.h:149
DiTauMassTools::MissingMassCalculator::SetMnuScanRange
void SetMnuScanRange(const double val)
Definition: MissingMassCalculator.h:360
DiTauMassTools::MissingMassCalculator::m_tauVec1Phi
double m_tauVec1Phi
Definition: MissingMassCalculator.h:181
xAOD::MissingET_v1
Principal data object for Missing ET.
Definition: MissingET_v1.h:25
DiTauMassTools::MissingMassCalculator::SetNiterFit1
void SetNiterFit1(const int val)
Definition: MissingMassCalculator.h:348
DiTauMassTools::MissingMassCalculator::m_tauVec1E
double m_tauVec1E
Definition: MissingMassCalculator.h:186
DiTauMassTools::MaxHistStrategy::FIT
@ FIT
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:30
DiTauMassTools::MissingMassCalculator::m_randomGen
TRandom2 m_randomGen
Definition: MissingMassCalculator.h:63
DiTauMassTools::MissingMassCalculator::m_scanMnu2
bool m_scanMnu2
Definition: MissingMassCalculator.h:178
DiTauMassTools::MissingMassCalculator::SetProposalTryMEt
void SetProposalTryMEt(const double val)
Definition: MissingMassCalculator.h:362
DiTauMassTools::MissingMassCalculator::SetNsigmaMETscan_hh
void SetNsigmaMETscan_hh(const double val)
Definition: MissingMassCalculator.h:392
xAOD::eventNumber
eventNumber
Definition: EventInfo_v1.cxx:124
DiTauMassTools::MissingMassCalculator::m_nsigma_METscan
double m_nsigma_METscan
Definition: MissingMassCalculator.h:97
DiTauMassTools::MMCCalibrationSet::e
e
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:40
DiTauMassTools::MissingMassCalculator::DitauMassCalculatorV9walk
int DitauMassCalculatorV9walk()
Definition: MissingMassCalculator.cxx:792
DiTauMassTools::MissingMassCalculator::m_tauVec2M
double m_tauVec2M
Definition: MissingMassCalculator.h:182
DiTauMassTools::MissingMassCalculator::m_nsol
int m_nsol
Definition: MissingMassCalculator.h:166
DiTauMassTools::MissingMassCalculator::m_reRunWithBestMET
bool m_reRunWithBestMET
Definition: MissingMassCalculator.h:197
DiTauMassTools::MissingMassCalculator::m_sinPhi2
double m_sinPhi2
Definition: MissingMassCalculator.h:176
DiTauMassTools::MissingMassCalculator::m_iter4
int m_iter4
Definition: MissingMassCalculator.h:101
DiTauMassTools::MissingMassCalculator::m_scanMnu1
bool m_scanMnu1
Definition: MissingMassCalculator.h:178
DiTauMassTools::MissingMassCalculator::m_iang2high
int m_iang2high
Definition: MissingMassCalculator.h:101
DiTauMassTools::MissingMassCalculator::m_beamEnergy
double m_beamEnergy
Definition: MissingMassCalculator.h:99
DiTauMassTools::MissingMassCalculator::checkAllParamInRange
bool checkAllParamInRange()
Definition: MissingMassCalculator.cxx:2666
DiTauMassTools::MissingMassCalculator::m_fMfit_allNoWeight
std::shared_ptr< TH1F > m_fMfit_allNoWeight
Definition: MissingMassCalculator.h:209
DiTauMassTools::MissingMassCalculator::m_mtautauSum
double m_mtautauSum
Definition: MissingMassCalculator.h:107
DiTauMassTools::MissingMassCalculator::GetRMSStop
int GetRMSStop() const
Definition: MissingMassCalculator.h:376
DiTauMassTools::MissingMassCalculator::m_markovNRejectMetropolis
int m_markovNRejectMetropolis
Definition: MissingMassCalculator.h:130
DiTauMassTools::MissingMassCalculator::m_eTau1Max
double m_eTau1Max
Definition: MissingMassCalculator.h:156
DiTauMassTools::MissingMassCalculator::checkMEtInRange
bool checkMEtInRange()
Definition: MissingMassCalculator.cxx:2707
DiTauMassTools::MissingMassCalculator::m_fPhi2_all
std::shared_ptr< TH1F > m_fPhi2_all
Definition: MissingMassCalculator.h:207
DiTauMassTools::MissingMassCalculator::m_fMmass_split1
std::shared_ptr< TH1F > m_fMmass_split1
Definition: MissingMassCalculator.h:219
DiTauMassTools::MissingMassCalculator::m_iterTheta3d
int m_iterTheta3d
Definition: MissingMassCalculator.h:102
DiTauMassTools::MissingMassCalculator::SetNsucStop
void SetNsucStop(const int val)
Definition: MissingMassCalculator.h:352
DiTauMassTools::MissingMassCalculator::GetNMetroReject
int GetNMetroReject() const
Definition: MissingMassCalculator.h:408
DiTauMassTools::MissingMassCalculator::GetNNoSol
int GetNNoSol() const
Definition: MissingMassCalculator.h:407
part2
Definition: part2.py:1
DiTauMassTools::MissingMassCalculator::m_dRmax_tau
double m_dRmax_tau
Definition: MissingMassCalculator.h:262
DiTauMassTools::MissingMassCalculator::m_nsigma_METscan_lfv_lh
double m_nsigma_METscan_lfv_lh
Definition: MissingMassCalculator.h:99
DiTauMassTools::MissingMassCalculator::m_nsolmax
int m_nsolmax
Definition: MissingMassCalculator.h:73
DiTauMassTools::MissingMassCalculator::m_markovNFullScan
int m_markovNFullScan
Definition: MissingMassCalculator.h:128
DiTauMassTools::MissingMassCalculator::m_markovNAccept
int m_markovNAccept
Definition: MissingMassCalculator.h:131
DiTauMassTools::MissingMassCalculator::m_eTau2Range
double m_eTau2Range
Definition: MissingMassCalculator.h:157
DiTauMassTools::MissingMassCalculator::m_testdiscri1
int m_testdiscri1
Definition: MissingMassCalculator.h:117
DiTauMassTools::MissingMassCalculator::m_iter3
int m_iter3
Definition: MissingMassCalculator.h:101
DiTauMassTools::MissingMassCalculator::DitauStuff::RMSoverMPV
double RMSoverMPV
Definition: MissingMassCalculator.h:60
DiTauMassTools::MissingMassCalculator::m_Phi2Range
double m_Phi2Range
Definition: MissingMassCalculator.h:151
DiTauMassTools::MissingMassCalculator::m_Phi1Range
double m_Phi1Range
Definition: MissingMassCalculator.h:151
DiTauMassTools::MissingMassCalculator::RunMissingMassCalculator
int RunMissingMassCalculator(const xAOD::IParticle *part1, const xAOD::IParticle *part2, const xAOD::MissingET *met, const int &njets)
Definition: MissingMassCalculator.cxx:197
DiTauMassTools::MissingMassCalculator::m_tauVec2Px
double m_tauVec2Px
Definition: MissingMassCalculator.h:184
MissingET.h
DiTauMassTools::MissingMassCalculator::m_Mnu1Exclude
bool m_Mnu1Exclude
Definition: MissingMassCalculator.h:159
DiTauMassTools::MissingMassCalculator::GetProposalTryPhi
double GetProposalTryPhi() const
Definition: MissingMassCalculator.h:386
DiTauMassTools::MissingMassCalculator::m_nu1FinalSolVec
std::vector< PtEtaPhiMVector > m_nu1FinalSolVec
Definition: MissingMassCalculator.h:169
DiTauMassTools::MissingMassCalculator::m_fPZfit2
std::shared_ptr< TH1F > m_fPZfit2
Definition: MissingMassCalculator.h:216
DiTauMassTools::MissingMassCalculator::m_niter_fit1
int m_niter_fit1
Definition: MissingMassCalculator.h:252
DiTauMassTools::MissingMassCalculator::DitauStuff
Definition: MissingMassCalculator.h:53
debug
const bool debug
Definition: MakeUncertaintyPlots.cxx:53
createCoolChannelIdFile.par
par
Definition: createCoolChannelIdFile.py:28
DiTauMassTools::MissingMassCalculator::m_Mnu1ExcludeRange
double m_Mnu1ExcludeRange
Definition: MissingMassCalculator.h:173
DiTauMassTools::MissingMassOutput
Definition: MissingMassOutput.h:24
DiTauMassTools::MissingMassCalculator::m_nuvec2_tmp
std::vector< PtEtaPhiMVector > m_nuvec2_tmp
Definition: MissingMassCalculator.h:89
DiTauMassTools::MissingMassCalculator::m_eTau2Max
double m_eTau2Max
Definition: MissingMassCalculator.h:157
DiTauMassTools::MissingMassCalculator::m_proposalTryMEt
double m_proposalTryMEt
Definition: MissingMassCalculator.h:137
DiTauMassTools::MissingMassCalculator::m_probFinalSolOldVec
std::vector< double > m_probFinalSolOldVec
Definition: MissingMassCalculator.h:161
DiTauMassTools::MissingMassCalculator::m_tauvecsol1
std::vector< PtEtaPhiMVector > m_tauvecsol1
Definition: MissingMassCalculator.h:83
DiTauMassTools::MissingMassCalculator::m_mtautauFinalSolOldVec
std::vector< double > m_mtautauFinalSolOldVec
Definition: MissingMassCalculator.h:162
DiTauMassTools::MissingMassCalculator::m_tauVec1P
double m_tauVec1P
Definition: MissingMassCalculator.h:185
DiTauMassTools::MissingMassCalculator::m_fUseFloatStoppingCheckFreq
int m_fUseFloatStoppingCheckFreq
Definition: MissingMassCalculator.h:70
DiTauMassTools::MissingMassCalculator::m_eTau2Min
double m_eTau2Min
Definition: MissingMassCalculator.h:157
DiTauMassTools::MissingMassCalculator::m_fMfit_allGraph
std::shared_ptr< TGraph > m_fMfit_allGraph
Definition: MissingMassCalculator.h:208
DiTauMassTools::MissingMassCalculator::m_Mnu2Step
double m_Mnu2Step
Definition: MissingMassCalculator.h:150
DiTauMassTools::MissingMassCalculator::m_iter0
int m_iter0
Definition: MissingMassCalculator.h:113
DiTauMassTools::MissingMassCalculator::m_fPhi1_split1
std::shared_ptr< TH1F > m_fPhi1_split1
Definition: MissingMassCalculator.h:224
DiTauMassTools::MissingMassCalculator::TailCleanUp
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)
Definition: MissingMassCalculator.cxx:1992
DiTauMassTools::MissingMassCalculator::m_iang1high
int m_iang1high
Definition: MissingMassCalculator.h:101
DiTauMassTools::MissingMassCalculator::m_tauVec2Pz
double m_tauVec2Pz
Definition: MissingMassCalculator.h:184
DiTauMassTools::MissingMassCalculator::DitauStuff::Sign_best
double Sign_best
Definition: MissingMassCalculator.h:55
DiTauMassTools::MissingMassCalculator::m_MnuProposal
double m_MnuProposal
Definition: MissingMassCalculator.h:152
DiTauMassTools::MissingMassCalculator::m_fPhi2_split2
std::shared_ptr< TH1F > m_fPhi2_split2
Definition: MissingMassCalculator.h:232
DiTauMassTools::MissingMassCalculator::maxFromHist
double maxFromHist(TH1F *theHist, std::vector< double > &histInfo, const MaxHistStrategy::e maxHistStrategy=MaxHistStrategy::FIT, const int winHalfWidth=2, bool debug=false)
Definition: MissingMassCalculator.cxx:1519
DiTauMassTools::MissingMassCalculator::metvec_tmp
XYVector metvec_tmp
Definition: MissingMassCalculator.h:421
DiTauMassTools::MissingMassCalculator::DoOutputInfo
void DoOutputInfo()
Definition: MissingMassCalculator.cxx:306
DiTauMassTools::MissingMassCalculator::m_RMSStop
int m_RMSStop
Definition: MissingMassCalculator.h:257
DiTauMassTools::MissingMassCalculator::m_NsucStop
int m_NsucStop
Definition: MissingMassCalculator.h:256
DiTauMassTools::MissingMassCalculator::m_Mnu1ExcludeMax
double m_Mnu1ExcludeMax
Definition: MissingMassCalculator.h:173
DiTauMassTools::MissingMassCalculator::m_eTau1Min
double m_eTau1Min
Definition: MissingMassCalculator.h:156
DiTauMassTools::MissingMassCalculator::SetFloatStoppingMinIter
void SetFloatStoppingMinIter(const int val)
Definition: MissingMassCalculator.h:396
DiTauMassTools::MissingMassCalculator::m_testptn2
int m_testptn2
Definition: MissingMassCalculator.h:116
MissingMassInput.h
DiTauMassTools::MissingMassCalculator::SetNsigmaMETscan_lh
void SetNsigmaMETscan_lh(const double val)
Definition: MissingMassCalculator.h:391
DiTauMassTools::MissingMassCalculator::m_eTau2Proposal
double m_eTau2Proposal
Definition: MissingMassCalculator.h:154
DiTauMassTools::MissingMassCalculator::MissingMassCalculator
MissingMassCalculator(MMCCalibrationSet::e aset, std::string paramFilePath)
Definition: MissingMassCalculator.cxx:48
DiTauMassTools::MissingMassCalculator::m_iter1
int m_iter1
Definition: MissingMassCalculator.h:101
DiTauMassTools::MissingMassCalculator::m_fUseEfficiencyRecovery
bool m_fUseEfficiencyRecovery
Definition: MissingMassCalculator.h:67
DiTauMassTools::MissingMassCalculator::m_MEtL
double m_MEtL
Definition: MissingMassCalculator.h:144
DiTauMassTools::MissingMassCalculator::m_NiterRandom
int m_NiterRandom
Definition: MissingMassCalculator.h:255
DiTauMassTools::MissingMassProb
Definition: MissingMassProb.h:28
DiTauMassTools::MissingMassCalculator::m_MEtPRange
double m_MEtPRange
Definition: MissingMassCalculator.h:151
DiTauMassTools::MissingMassCalculator::m_eTau1
double m_eTau1
Definition: MissingMassCalculator.h:145
DiTauMassTools::MissingMassCalculator::m_dTheta3d_binMin
double m_dTheta3d_binMin
Definition: MissingMassCalculator.h:260
DiTauMassTools::MissingMassCalculator::m_MEtProposal
double m_MEtProposal
Definition: MissingMassCalculator.h:152
DiTauMassTools::MissingMassCalculator::m_MEtLRange
double m_MEtLRange
Definition: MissingMassCalculator.h:151
DiTauMassTools::MissingMassCalculator::m_iterNsuc
int m_iterNsuc
Definition: MissingMassCalculator.h:121
DiTauMassTools::MissingMassCalculator::SetFloatStoppingComp
void SetFloatStoppingComp(const double val)
Definition: MissingMassCalculator.h:398
Pythia8_RapidityOrderMPI.val
val
Definition: Pythia8_RapidityOrderMPI.py:14
DiTauMassTools::MissingMassCalculator::m_eTau20
double m_eTau20
Definition: MissingMassCalculator.h:146
DiTauMassTools::MissingMassCalculator::SetdTheta3d_binMax
void SetdTheta3d_binMax(const double val)
Definition: MissingMassCalculator.h:356
DiTauMassTools::MissingMassCalculator::m_fPYfit1
std::shared_ptr< TH1F > m_fPYfit1
Definition: MissingMassCalculator.h:212
DiTauMassTools::MissingMassCalculator::m_markovCountDuplicate
int m_markovCountDuplicate
Definition: MissingMassCalculator.h:127
DiTauMassTools::MissingMassCalculator::SetRMSStop
void SetRMSStop(const int val)
Definition: MissingMassCalculator.h:353
DiTauMassTools::MissingMassInput
Definition: MissingMassInput.h:21
DiTauMassTools::MissingMassCalculator::m_Mnu1Min
double m_Mnu1Min
Definition: MissingMassCalculator.h:148
DiTauMassTools::MissingMassCalculator::CheckSolutions
int CheckSolutions(PtEtaPhiMVector nu_vec, PtEtaPhiMVector vis_vec, int decayType)
DiTauMassTools::MissingMassCalculator::GetRndmSeedAltering
int GetRndmSeedAltering() const
Definition: MissingMassCalculator.h:378
DiTauMassTools::MissingMassCalculator::m_rmsStop
int m_rmsStop
Definition: MissingMassCalculator.h:76
DiTauMassTools::MissingMassCalculator::m_fPhi1
TH1F * m_fPhi1
Definition: MissingMassCalculator.h:236
DiTauMassTools::MissingMassCalculator::m_tauVec1Px
double m_tauVec1Px
Definition: MissingMassCalculator.h:183
DiTauMassTools::MissingMassCalculator::handleSolutions
void handleSolutions()
Definition: MissingMassCalculator.cxx:2048
DiTauMassTools::MissingMassCalculator::m_SaveLlhHisto
bool m_SaveLlhHisto
Definition: MissingMassCalculator.h:93
DiTauMassTools::MissingMassCalculator::GetProposalTryMnu
double GetProposalTryMnu() const
Definition: MissingMassCalculator.h:387
DiTauMassTools::MissingMassCalculator::m_m2Nu2
double m_m2Nu2
Definition: MissingMassCalculator.h:189
DiTauMassTools::MissingMassCalculator::SetUseFloatStopping
void SetUseFloatStopping(const bool val)
Definition: MissingMassCalculator.cxx:3132
DiTauMassTools::MissingMassCalculator::m_RndmSeedAltering
int m_RndmSeedAltering
Definition: MissingMassCalculator.h:258
DiTauMassTools::MissingMassCalculator::m_iter2
int m_iter2
Definition: MissingMassCalculator.h:101
DiTauMassTools::MissingMassCalculator::m_nu2FinalSolVec
std::vector< PtEtaPhiMVector > m_nu2FinalSolVec
Definition: MissingMassCalculator.h:170
DiTauMassTools::MissingMassCalculator::m_MEtPStep
double m_MEtPStep
Definition: MissingMassCalculator.h:150
python.TrigEgammaMonitorHelper.TH1F
def TH1F(name, title, nxbins, bins_par2, bins_par3=None, path='', **kwargs)
Definition: TrigEgammaMonitorHelper.py:24
DiTauMassTools::MissingMassCalculator::m_probFinalSolVec
std::vector< double > m_probFinalSolVec
Definition: MissingMassCalculator.h:167
DiTauMassTools::MissingMassCalculator::m_Phi1Min
double m_Phi1Min
Definition: MissingMassCalculator.h:148
DiTauMassTools::MissingMassCalculator::m_eTau1Range
double m_eTau1Range
Definition: MissingMassCalculator.h:156
DiTauMassTools::MissingMassCalculator::m_meanbinStop
double m_meanbinStop
Definition: MissingMassCalculator.h:77
DiTauMassTools::MissingMassCalculator::m_mtautauFinalSolVec
std::vector< double > m_mtautauFinalSolVec
Definition: MissingMassCalculator.h:168
MissingMassOutput.h
DiTauMassTools::MissingMassCalculator::m_fMmass_split2
std::shared_ptr< TH1F > m_fMmass_split2
Definition: MissingMassCalculator.h:226
DiTauMassTools::MissingMassCalculator::m_PrintmMeanError
double m_PrintmMeanError
Definition: MissingMassCalculator.h:134
DiTauMassTools::MissingMassCalculator::m_totalProbSum
double m_totalProbSum
Definition: MissingMassCalculator.h:106
DiTauMassTools::MissingMassCalculator::m_fUseFloatStoppingMinIter
int m_fUseFloatStoppingMinIter
Definition: MissingMassCalculator.h:69
DiTauMassTools::MissingMassCalculator::m_MEtLMax
double m_MEtLMax
Definition: MissingMassCalculator.h:149
DiTauMassTools::MissingMassCalculator::GetNsucStop
int GetNsucStop() const
Definition: MissingMassCalculator.h:375
DiTauMassTools::MissingMassCalculator::m_dTheta3d_binMax
double m_dTheta3d_binMax
Definition: MissingMassCalculator.h:261
DiTauMassTools::MissingMassCalculator::m_Mnu1Step
double m_Mnu1Step
Definition: MissingMassCalculator.h:150
DiTauMassTools::MissingMassCalculator::m_tauvecprob2
std::vector< double > m_tauvecprob2
Definition: MissingMassCalculator.h:86
DiTauMassTools::MissingMassCalculator::m_Mnu1ExcludeMin
double m_Mnu1ExcludeMin
Definition: MissingMassCalculator.h:173
DiTauMassTools::MissingMassCalculator::m_nuvec1_tmp
std::vector< PtEtaPhiMVector > m_nuvec1_tmp
Definition: MissingMassCalculator.h:88
DiTauMassTools::MissingMassCalculator::m_testptn1
int m_testptn1
Definition: MissingMassCalculator.h:115
DiTauMassTools::MissingMassCalculator::GetMarkovNFullscan
int GetMarkovNFullscan() const
Definition: MissingMassCalculator.h:384
DiTauMassTools::MissingMassCalculator::m_cosPhi1
double m_cosPhi1
Definition: MissingMassCalculator.h:176
DiTauMassTools::MissingMassCalculator::m_nsolfinalmax
int m_nsolfinalmax
Definition: MissingMassCalculator.h:73
DiTauMassTools::MissingMassCalculator::PrintResults
void PrintResults()
Definition: MissingMassCalculator.cxx:445
DiTauMassTools::MissingMassCalculator::m_prob_tmp
double m_prob_tmp
Definition: MissingMassCalculator.h:104
DiTauMassTools::MissingMassCalculator::m_sinPhi1
double m_sinPhi1
Definition: MissingMassCalculator.h:176
DiTauMassTools::MissingMassCalculator::m_Mnu2Range
double m_Mnu2Range
Definition: MissingMassCalculator.h:151
DiTauMassTools::MissingMassCalculator::m_tauvecsol2
std::vector< PtEtaPhiMVector > m_tauvecsol2
Definition: MissingMassCalculator.h:84
DiTauMassTools::MissingMassCalculator::dTheta3DLimit
double dTheta3DLimit(const int &tau_type, const int &limit_code, const double &P_tau)
Definition: MissingMassCalculator.cxx:2723
DiTauMassTools::MissingMassCalculator::m_Mnu1Max
double m_Mnu1Max
Definition: MissingMassCalculator.h:149
DiTauMassTools::MissingMassCalculator::SetdTheta3d_binMin
void SetdTheta3d_binMin(const double val)
Definition: MissingMassCalculator.h:357
DiTauMassTools::MissingMassCalculator::m_metCovPhiSin
double m_metCovPhiSin
Definition: MissingMassCalculator.h:153
DiTauMassTools::MissingMassCalculator::GetmMeanError
double GetmMeanError() const
Definition: MissingMassCalculator.h:404
DiTauMassTools::MissingMassCalculator::OutputInfo
MissingMassOutput OutputInfo
Definition: MissingMassCalculator.h:341
DiTauMassTools::MissingMassCalculator::m_Mnu1XRange
double m_Mnu1XRange
Definition: MissingMassCalculator.h:174
DiTauMassTools::MissingMassCalculator::m_Meff
double m_Meff
Definition: MissingMassCalculator.h:196
DiTauMassTools::MissingMassCalculator::m_nu2FinalSolOldVec
std::vector< PtEtaPhiMVector > m_nu2FinalSolOldVec
Definition: MissingMassCalculator.h:164
DiTauMassTools::MissingMassCalculator::Prob
MissingMassProb * Prob
Definition: MissingMassCalculator.h:342
DiTauMassTools::MissingMassCalculator::m_tauVec1Py
double m_tauVec1Py
Definition: MissingMassCalculator.h:183
DiTauMassTools::MissingMassCalculator::m_mTau
double m_mTau
Definition: MissingMassCalculator.h:143
DiTauMassTools::MissingMassCalculator::m_eTau10
double m_eTau10
Definition: MissingMassCalculator.h:146
DiTauMassTools::MissingMassCalculator::m_fDitauStuffFit
DitauStuff m_fDitauStuffFit
Definition: MissingMassCalculator.h:249
DiTauMassTools::MissingMassCalculator::m_tauVec2E
double m_tauVec2E
Definition: MissingMassCalculator.h:187
DiTauMassTools::MissingMassCalculator::GetNSol
int GetNSol() const
Definition: MissingMassCalculator.h:409
DiTauMassTools::MissingMassCalculator::m_E2v2
double m_E2v2
Definition: MissingMassCalculator.h:193
DiTauMassTools::MissingMassCalculator::ClearDitauStuff
void ClearDitauStuff(DitauStuff &fStuff)
Definition: MissingMassCalculator.cxx:291
DiTauMassTools::MissingMassCalculator::m_fMety
TH1F * m_fMety
Definition: MissingMassCalculator.h:241
DiTauMassTools::MissingMassCalculator::m_nosol1
int m_nosol1
Definition: MissingMassCalculator.h:119
DiTauMassTools::MissingMassCalculator::m_fMEtL_all
std::shared_ptr< TH1F > m_fMEtL_all
Definition: MissingMassCalculator.h:203