ATLAS Offline Software
IBTaggingSelectionTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef CPIBTAGGINGSELECTIONTOOL_H
6 #define CPIBTAGGINGSELECTIONTOOL_H
7 
8 #include "AsgTools/IAsgTool.h"
9 #include "xAODJet/Jet.h"
11 #include "PATCore/AcceptData.h"
12 #include <string>
13 
14 class IBTaggingSelectionTool : virtual public asg::IAsgTool {
15 
17  ASG_TOOL_INTERFACE( IBTagSelectionTool )
18 
19  public:
20 
22  virtual asg::AcceptData accept( const xAOD::IParticle* p ) const = 0;
23  virtual asg::AcceptData accept( const xAOD::Jet& j ) const = 0;
25  virtual asg::AcceptData accept(double /* jet pt */, double /* jet eta */, double /* tag_weight */ ) const = 0;
26  virtual asg::AcceptData accept(double /* jet pt */, double /* jet eta*/ , double /* taggerWeight_b */, double /* taggerWeight_c */) const = 0;
27  virtual asg::AcceptData accept(double /* jet pt */, double /* jet eta */, double /* dl1pb */, double /* dl1pc */ , double /* dl1pu */) const = 0;
28  virtual asg::AcceptData accept(double /* jet pt */, double /* jet eta */, double /* dl1pb */, double /* dl1pc */ , double /* dl1pu */, double /* dl1ptau */) const = 0;
29 
32  virtual int getQuantile( const xAOD::IParticle* ) const = 0;
33  virtual int getQuantile( const xAOD::Jet& ) const = 0;
34  virtual int getQuantile( double /* jet pt */, double /* jet eta */, double /* tag weight */) const = 0;
35  virtual int getQuantile( double /*pT*/, double /*eta*/, double /*tag_weight_b*/, double /*tag_weight_c*/ ) const = 0;
36 
37  virtual CP::CorrectionCode getCutValue(double /* jet pt */, double & cutval) const = 0;
38  virtual CP::CorrectionCode getTaggerWeight( const xAOD::Jet& jet, double & tagweight) const = 0;
39  virtual CP::CorrectionCode getTaggerWeight( double pb, double pc, double pu, double & tagweight) const = 0;
40  virtual CP::CorrectionCode getTaggerWeight( double pb, double pc, double pu, double & tagweight, double ptau) const = 0;
41 
42  //flexibility for Continuous2D
43  virtual CP::CorrectionCode getTaggerWeight( const xAOD::Jet& jet, double & weight ,bool getCTagW) const = 0;
44  virtual CP::CorrectionCode getTaggerWeight( double /* dl1pb */, double /* dl1pc */ , double /* dl1pu */ , double & weight, bool getCTagW, double /* dl1ptau */ = 0.) const = 0;
45  };
46 #endif // CPIBTAGGINGSELECTIONTOOL_H
IBTaggingSelectionTool::getQuantile
virtual int getQuantile(double, double, double) const =0
Jet.h
IBTaggingSelectionTool::getQuantile
virtual int getQuantile(double, double, double, double) const =0
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
keylayer_zslicemap.pb
pb
Definition: keylayer_zslicemap.py:188
IBTaggingSelectionTool::accept
virtual asg::AcceptData accept(double, double, double, double, double, double) const =0
asg::IAsgTool
Base class for the dual-use tool interface classes.
Definition: IAsgTool.h:41
IBTaggingSelectionTool::getTaggerWeight
virtual CP::CorrectionCode getTaggerWeight(const xAOD::Jet &jet, double &tagweight) const =0
IBTaggingSelectionTool::accept
virtual asg::AcceptData accept(double, double, double) const =0
Get the decision using thet jet's pt and weight values (number of weight values depends on which tagg...
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:40
dqt_zlumi_pandas.weight
int weight
Definition: dqt_zlumi_pandas.py:200
jet
Definition: JetCalibTools_PlotJESFactors.cxx:23
IBTaggingSelectionTool::getTaggerWeight
virtual CP::CorrectionCode getTaggerWeight(double pb, double pc, double pu, double &tagweight, double ptau) const =0
IBTaggingSelectionTool
Definition: IBTaggingSelectionTool.h:14
IBTaggingSelectionTool::getTaggerWeight
virtual CP::CorrectionCode getTaggerWeight(const xAOD::Jet &jet, double &weight, bool getCTagW) const =0
ASG_TOOL_INTERFACE
#define ASG_TOOL_INTERFACE(CLASSNAME)
Definition: AsgToolMacros.h:40
IAsgTool.h
AcceptData.h
IBTaggingSelectionTool::getTaggerWeight
virtual CP::CorrectionCode getTaggerWeight(double pb, double pc, double pu, double &tagweight) const =0
IBTaggingSelectionTool::getQuantile
virtual int getQuantile(const xAOD::IParticle *) const =0
Decide in which quantile of the tagger weight distribution the jet belongs The return value represent...
IBTaggingSelectionTool::getQuantile
virtual int getQuantile(const xAOD::Jet &) const =0
CheckAppliedSFs.pu
pu
Definition: CheckAppliedSFs.py:311
xAOD::Jet_v1
Class describing a jet.
Definition: Jet_v1.h:57
IBTaggingSelectionTool::accept
virtual asg::AcceptData accept(double, double, double, double) const =0
CP::CorrectionCode
Return value from object correction CP tools.
Definition: CorrectionCode.h:31
IBTaggingSelectionTool::getCutValue
virtual CP::CorrectionCode getCutValue(double, double &cutval) const =0
CorrectionCode.h
IBTaggingSelectionTool::accept
virtual asg::AcceptData accept(const xAOD::IParticle *p) const =0
Declare the interface that the class provides.
asg::AcceptData
Definition: AcceptData.h:30
python.SystemOfUnits.pc
float pc
Definition: SystemOfUnits.py:99
IBTaggingSelectionTool::accept
virtual asg::AcceptData accept(double, double, double, double, double) const =0
IBTaggingSelectionTool::getTaggerWeight
virtual CP::CorrectionCode getTaggerWeight(double, double, double, double &weight, bool getCTagW, double=0.) const =0
IBTaggingSelectionTool::accept
virtual asg::AcceptData accept(const xAOD::Jet &j) const =0