ATLAS Offline Software
TtresNeutrinoBuilder.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3  */
4 
5 #ifndef TtresNeutrinoBuilder_H
6 #define TtresNeutrinoBuilder_H 1
7 
8 #include <iostream>
9 #include <string>
10 
11 // ROOT classes
12 #include "TLorentzVector.h"
13 #include <TMinuit.h>
14 #include <TUUID.h>
15 
17 public:
18  TtresNeutrinoBuilder(std::string units);
19  virtual ~TtresNeutrinoBuilder();
22 
23  inline void setdebuglevel(int level) {m_debug = level;};
24 
25  Double_t getDiscriminant(const TLorentzVector*, const Double_t, const Double_t);
26  // In case of negative discriminant, decrease the MET
27  bool candidatesFromWMass_Scaling(const TLorentzVector*, double, Double_t, std::vector<TLorentzVector*>&);
28  std::vector<TLorentzVector*> candidatesFromWMass_Scaling(const TLorentzVector*, const Double_t, const Double_t);
29  std::vector<TLorentzVector*> candidatesFromWMass_Scaling(const TLorentzVector*, const TLorentzVector*);
30  // In case of negative discriminant, rotate the MET
31  std::vector<TLorentzVector*> candidatesFromWMass_Rotation(const TLorentzVector*, const Double_t, const Double_t,
32  const bool);
33  std::vector<TLorentzVector*> candidatesFromWMass_Rotation(const TLorentzVector*, const TLorentzVector*, const bool);
34  // In case of negative discriminant, use the real part
35  std::vector<TLorentzVector*> candidatesFromWMass_RealPart(const TLorentzVector*, const Double_t, const Double_t,
36  const bool);
37  std::vector<TLorentzVector*> candidatesFromWMass_RealPart(const TLorentzVector*, const TLorentzVector*, const bool);
38 protected:
39  double fitAlpha(const TLorentzVector*, const Double_t, const Double_t);
40  int m_debug;
41  double m_Units;
42 };
43 
44 #endif
TtresNeutrinoBuilder::~TtresNeutrinoBuilder
virtual ~TtresNeutrinoBuilder()
Definition: TtresNeutrinoBuilder.cxx:20
TtresNeutrinoBuilder::setdebuglevel
void setdebuglevel(int level)
Definition: TtresNeutrinoBuilder.h:23
TtresNeutrinoBuilder::m_Units
double m_Units
Definition: TtresNeutrinoBuilder.h:41
python.iconfTool.models.loaders.level
level
Definition: loaders.py:20
TtresNeutrinoBuilder
Definition: TtresNeutrinoBuilder.h:16
TtresNeutrinoBuilder::TtresNeutrinoBuilder
TtresNeutrinoBuilder(std::string units)
Definition: TtresNeutrinoBuilder.cxx:12
TtresNeutrinoBuilder::candidatesFromWMass_Scaling
std::vector< TLorentzVector * > candidatesFromWMass_Scaling(const TLorentzVector *, const Double_t, const Double_t)
TtresNeutrinoBuilder::getDiscriminant
Double_t getDiscriminant(const TLorentzVector *, const Double_t, const Double_t)
Definition: TtresNeutrinoBuilder.cxx:348
perfmonmt-refit.units
string units
Definition: perfmonmt-refit.py:77
TtresNeutrinoBuilder::operator=
TtresNeutrinoBuilder & operator=(const TtresNeutrinoBuilder &)
Definition: TtresNeutrinoBuilder.cxx:30
TtresNeutrinoBuilder::m_debug
int m_debug
Definition: TtresNeutrinoBuilder.h:40
TtresNeutrinoBuilder::candidatesFromWMass_Scaling
bool candidatesFromWMass_Scaling(const TLorentzVector *, double, Double_t, std::vector< TLorentzVector * > &)
TtresNeutrinoBuilder::candidatesFromWMass_Rotation
std::vector< TLorentzVector * > candidatesFromWMass_Rotation(const TLorentzVector *, const Double_t, const Double_t, const bool)
Definition: TtresNeutrinoBuilder.cxx:206
TtresNeutrinoBuilder::candidatesFromWMass_RealPart
std::vector< TLorentzVector * > candidatesFromWMass_RealPart(const TLorentzVector *, const Double_t, const Double_t, const bool)
Definition: TtresNeutrinoBuilder.cxx:288
TtresNeutrinoBuilder::fitAlpha
double fitAlpha(const TLorentzVector *, const Double_t, const Double_t)
Definition: TtresNeutrinoBuilder.cxx:65