ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
HiggsPhys
Run2
HZZ
Tools
ZMassConstraint
ZMassConstraint
IConstraintFit.h
Go to the documentation of this file.
1
// Dear emacs, this is -*- c++ -*-
2
3
/*
4
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
5
*/
6
7
// $Id: IConstraintFit.h 670486 2015-05-28 09:29:21Z schaffer $
9
//
10
// Z mass constraint fit
11
//
12
// original version by:
13
// Konstantinos Nikolopoulos
14
// Univ. of Athens
15
//
17
#ifndef ZMASSCONSTRAINT_ICONSTRAINTFIT_H
18
#define ZMASSCONSTRAINT_ICONSTRAINTFIT_H
19
20
// Framework include(s):
21
#include "
AsgTools/IAsgTool.h
"
22
23
// EDM includes
24
#include "
xAODBase/IParticle.h
"
25
#include "
xAODMuon/Muon.h
"
26
#include "
xAODEgamma/Electron.h
"
27
28
// ZMassConstraint I/O includes
29
#include "
ZMassConstraint/ConstraintFitInput.h
"
30
#include "
ZMassConstraint/ConstraintFitOutput.h
"
31
32
namespace
ZMassConstraint
33
{
34
35
enum
MassConstraintMuonType
{
36
isCombMCMT
,
// 0
37
isID_MCMT
,
// 1
38
isMS_MCMT
// 2
39
};
40
41
class
IConstraintFit
:
public
virtual
asg::IAsgTool
42
{
44
ASG_TOOL_INTERFACE
(
ZMassConstraint::IConstraintFit
)
45
46
public
:
47
49
virtual
StatusCode
doMassFit
(
const
ConstraintFitInput
& input,
50
ConstraintFitOutput
& output) = 0;
51
53
virtual
double
getMassError
(
const
ConstraintFitInput
& firstInput,
54
const
ConstraintFitInput
& secondInput =
ConstraintFitInput
()) = 0;
55
58
virtual
double
getMassError
(
const
ConstraintFitOutput
& fitOutput,
59
const
ConstraintFitInput
& extraInput =
ConstraintFitInput
()) = 0;
60
62
virtual
double
getMassError
(
const
ConstraintFitOutput
& fitOutput,
63
const
ConstraintFitOutput
& secondFitOutput) = 0;
64
66
virtual
void
addParticle
(
const
xAOD::Muon
& mu,
67
ConstraintFitInput
& input,
68
MassConstraintMuonType
muonType =
isCombMCMT
) = 0;
69
71
virtual
void
addParticle
(
const
xAOD::Electron
& el,
72
float
elEnergyRes,
73
ConstraintFitInput
& input) = 0;
74
78
// The four vector is used in the mass fit and comes from the FsrTool
79
virtual
void
addFSRParticle
(
const
xAOD::IParticle
& part,
80
const
TLorentzVector& fsr4Vec,
81
ConstraintFitInput
& input) = 0;
82
83
};
84
85
}
// namespace ZMassConstraint
86
87
#endif
// ZMASSCONSTRAINT_ICONSTRAINTFIT_H
ASG_TOOL_INTERFACE
#define ASG_TOOL_INTERFACE(CLASSNAME)
Definition
AsgToolMacros.h:40
ConstraintFitInput.h
ConstraintFitOutput.h
IParticle.h
Electron.h
Muon.h
IAsgTool.h
ZMassConstraint::ConstraintFitInput
Definition
ConstraintFitInput.h:12
ZMassConstraint::ConstraintFitOutput
Definition
ConstraintFitOutput.h:13
ZMassConstraint::IConstraintFit
Definition
IConstraintFit.h:42
ZMassConstraint::IConstraintFit::addParticle
virtual void addParticle(const xAOD::Electron &el, float elEnergyRes, ConstraintFitInput &input)=0
Add electron to input, must provide the electron energy resolution.
ZMassConstraint::IConstraintFit::getMassError
virtual double getMassError(const ConstraintFitOutput &fitOutput, const ConstraintFitInput &extraInput=ConstraintFitInput())=0
Calculate the mass error with the result of fit and possible additional input (4-vecs/cov mat) that h...
ZMassConstraint::IConstraintFit::addParticle
virtual void addParticle(const xAOD::Muon &mu, ConstraintFitInput &input, MassConstraintMuonType muonType=isCombMCMT)=0
Add muon to input, must provide the resolution Scale Factor.
ZMassConstraint::IConstraintFit::addFSRParticle
virtual void addFSRParticle(const xAOD::IParticle &part, const TLorentzVector &fsr4Vec, ConstraintFitInput &input)=0
Add in FSR photon to input, must provide BOTH the IParticle AND 4vec of FSR photon The IParticle is u...
ZMassConstraint::IConstraintFit::getMassError
virtual double getMassError(const ConstraintFitInput &firstInput, const ConstraintFitInput &secondInput=ConstraintFitInput())=0
Calculate the mass error without fit - use just the inputs.
ZMassConstraint::IConstraintFit::getMassError
virtual double getMassError(const ConstraintFitOutput &fitOutput, const ConstraintFitOutput &secondFitOutput)=0
Calculate the mass error with the result of two mass fits.
ZMassConstraint::IConstraintFit::doMassFit
virtual StatusCode doMassFit(const ConstraintFitInput &input, ConstraintFitOutput &output)=0
Declare the interface that the class provides.
asg::IAsgTool
Base class for the dual-use tool interface classes.
Definition
IAsgTool.h:41
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition
Event/xAOD/xAODBase/xAODBase/IParticle.h:41
ZMassConstraint
Definition
ConstraintFit.cxx:12
ZMassConstraint::MassConstraintMuonType
MassConstraintMuonType
Definition
IConstraintFit.h:35
ZMassConstraint::isCombMCMT
@ isCombMCMT
Definition
IConstraintFit.h:36
ZMassConstraint::isID_MCMT
@ isID_MCMT
Definition
IConstraintFit.h:37
ZMassConstraint::isMS_MCMT
@ isMS_MCMT
Definition
IConstraintFit.h:38
xAOD::Muon
Muon_v1 Muon
Reference the current persistent version:
Definition
Event/xAOD/xAODMuon/xAODMuon/Muon.h:13
xAOD::Electron
Electron_v1 Electron
Definition of the current "egamma version".
Definition
Event/xAOD/xAODEgamma/xAODEgamma/Electron.h:17
Generated on
for ATLAS Offline Software by
1.17.0