ATLAS Offline Software
Loading...
Searching...
No Matches
Analysis Namespace Reference

The namespace of all packages in PhysicsAnalysis/JetTagging. More...

Namespaces

namespace  CalibrationDataInterface

Classes

class  AtomicProperty
class  BTagLightSecVertexing
class  BTagTool
 The BTagTool class is a prototype implementation of a general jet tag strategy for the case of b-tagging. More...
class  BTagTrackAugmenterAlg
class  BTagTrackAugmenterByVertexAlg
class  CalibrationDataContainer
 This is the interface for the objects to be stored in the calibration ROOT file. More...
class  CalibrationDataEigenVariations
class  CalibrationDataFunctionContainer
 This is the class holding information for function-based calibration results. More...
class  CalibrationDataGlobalEigenVariations
class  CalibrationDataHistogramContainer
 This is the class holding information for histogram-based calibration results. More...
class  CalibrationDataInterfaceBase
 This class provides some common functionality for other classes wishing to access Flavour Tagging performance estimates. More...
class  CalibrationDataInterfaceROOT
 This tool provides an interface to flavour tagging performance estimates. More...
class  CalibrationDataMappedHistogramContainer
 This is the class holding information for histogram-based calibration results, in cases where 'irregular' binning is used (e.g., if the binning in one variable depends on another variable), or where the dimensionality becomes too high for even 3D histograms (so that a mapping is needed to use THx). More...
class  CalibrationDataVariables
 This class (struct, actually) is nothing but a light-weight container of (kinematic or other) variables. More...
class  CDIReader
class  CleanUpVertex
class  Composite
class  Electron
class  ElectronAssociation
class  ElectronConstituent
class  HistoHelperRoot
 Helper class for histograming. More...
struct  HistoLimits
class  IBTagLightSecVertexing
class  IBTagTool
class  ICandidateSearch
class  IConstituent
 Class IConstituent: This is the abstract base class for additional jet constituents to be put into the JetTag/ParticleJet class. More...
class  IJetFitterClassifierTool
class  IJetFitterVariablesFactory
class  IMSVVariablesFactory
class  IMultivariateJetTagger
class  ITaggerDecorHandles
class  ITagInfo
class  ITagTool
class  JetBTaggingAlg
class  JetFitterDecorHandles
class  JetFitterDummyClassifier
class  JetFitterInputWriter
struct  JetFitterVariables
class  JetFitterVariablesFactory
class  JetPartonTruthLabel
class  JetSecVertexingAlg
class  JetSecVtxFindingAlg
class  JetTagCalibCondAlg
 @ class JetTagCalibCondAlg More...
class  JetTagCalibCondData
class  JetTagVertexDecoratorAlg
struct  JpsiCandidate
struct  JpsiEECandidate
class  JpsiFinder
class  JpsiFinder_ee
class  JpsiPlus1Track
class  JpsiPlus2Tracks
class  JpsiUpsilonCommon
class  MSVVariablesFactory
class  MultiSVTag
class  MultivariateTagManager
class  Muon
 The ATLAS Muon object - see doxygen, physics workbookd and the Muon Combined Performance WG's pages for full documentation. More...
class  MuonAssociation
class  MuonConstituent
 Class MuonConstituent: This is the implemntation of the MuonConstituent class for ParticleJet. More...
class  MuonContainer
 definition of StoreGate container holding a vector of Analysis::Muon More...
class  MV2Tag
 BDT-based tagger combining more than 20 upper stream b-tagging variables. More...
class  NewLikelihoodTool
class  ParticleShallowClone
class  Photon
class  PhotonAssociation
class  PrimaryVertexRefitter
class  Slice
class  SV1DecorHandles
class  SVTag
class  TagNtupleDumper
class  TruthTagResults

Typedefs

typedef std::string NameType
 string to identify the constituent
typedef std::pair< double, double > UncertaintyResult
 The following typedef is for convenience: most uncertainties can be asymmetric.
typedef std::pair< double, double > CalibResult
typedef std::map< std::string, double > var_map
typedef std::string TagInfoType
typedef NavigableTerminalNode MuonNavigation

Enumerations

enum  Uncertainty
 specification of type information requested by the user More...
enum  EVReductionStrategy
 specification of Eigenvector variations reduction strategy. More...
enum  OutOfBoundsStrategy
 strategies for dealing with specified kinematic variables being outside their range of validity: ignore any items, flag items (this will merely produce a summary at the end of the job), giving up when even a specified extrapolation range is exceeded, or giving up upon any out-of-bound condition. More...
enum  OutOfBoundsType
 counter types (to be used when flagging out-of-bounds cases) More...
enum  CalibrationStatus
enum  PairType
enum  MuonTypes
enum  PairTypeEE

Functions

static const InterfaceID IID_IBTagLightSecVertexing ("IBTagLightSecVertexing", 1, 0)
Int_t addContainer (Analysis::CalibrationDataContainer *cnt, TFile *file, const char *tagger, const char *jetAuthor, const char *OP, const char *flavour, const char *name=0, bool isReference=false)
const CalibResult dummyResult (dummyValue, dummyValue)
void showHadronisations (const char *filename, const char *directory)
std::map< std::string, std::string > getHadronisations (const char *filename, const char *directory)
void showBuildNumber (const char *filename)
static const InterfaceID IID_IJetFitterVariablesFactory ("Analysis::IJetFitterVariablesFactory", 1, 0)
static const InterfaceID IID_IMSVVariablesFactory ("Analysis::IMSVVariablesFactory", 1, 0)
static const InterfaceID IID_NewLikelihoodTool ("Analysis::NewLikelihoodTool", 1, 0)
double get3DSignificance (const xAOD::Vertex &priVertex, const std::vector< const xAOD::Vertex * > &secVertex, const Amg::Vector3D &jetDirection)
 Signed decay length significance of the weighted mean of the secondary vertices with respect to the primary vertex.
double get3DSignificanceCorr (const xAOD::Vertex &priVertex, const std::vector< const xAOD::Vertex * > &secVertex, const Amg::Vector3D &jetDirection)
 Largest signed significance of the individual secondary vertices with respect to the primary vertex.
static const InterfaceID IID_JpsiFinder_ee ("JpsiFinder_ee", 1, 0)
static const InterfaceID IID_JpsiPlus1Track ("JpsiPlus1Track", 1, 0)
static const InterfaceID IID_JpsiPlus2Tracks ("JpsiPlus2Tracks", 1, 0)
static const InterfaceID IID_PrimaryVertexRefitter ("PrimaryVertexRefitter", 1, 0)

Variables

const unsigned int MaxCalibrationVars = 10
 Maximum dimensionality of the calibration parametrisation.
const double CalibZERO = 1.e-6
const double dummyValue = -1.
constexpr double muMass = ParticleConstants::muonMassInMeV
constexpr double kMass = ParticleConstants::chargedKaonMassInMeV
constexpr double piMass = ParticleConstants::chargedPionMassInMeV
constexpr double pMass = ParticleConstants::protonMassInMeV

Detailed Description

The namespace of all packages in PhysicsAnalysis/JetTagging.

Name: MuonContainer.h Package : offline/Reconstruction/MuonIdentification/muonEvent.

Name : Muon.cxx Package : offline/Reconstruction/MuonIdentification/muonEvent Author : Ketevi A.

string to identify the tagger tool.

Name : JetFitterNNTool.h Package : BTagTools Author : Dan Guest Created : March 2016.

Name : MSVVariableFactory.h Created : sept 14.

Name : JetFitterVariableFactory.h Package : BTagTools Author : Giacinto Piacquadio, Christian Weiser (University of Freiburg) Created : March 2007.

Name : JetFitterInputWriter.h Package : BTagTools Author : Dan Guest Created : January 2017.

Name : JetFitterDummyClassifier.h Package : BTagTools Author : Dan Guest Created : Jan 2017.

Author: A.

Wildauer CERN, January 14, 2005

Transition from AIDA to THistSvc (root) and enhancement of functionality (smoothing, interpolation): L. Vacavant, JB Devivie

DESCRIPTION: filler for JetFitter classifier, does nothing

DESCRIPTION:

Write JetFitter inputs to xAOD

DESCRIPTION:

This class is a "variable factory". It generates, starting from the VxJetCandidate, all the variables actually used by the JetFitterTag.

DESCRIPTION:

This class is a "variable factory". It generates all the variables per vertex to MSV.

DESCRIPTION: Class to dump a ROOT file with tagger info

For backward compability. This will likely be removed in the near future.

put it into namespace Analysis, where everybody expects it to be

Assamagan Created : December 2004 Note : CombinedMuon Object in the ESD

DESCRIPTION:

see Muon.h January 2007: Merge CombinedMuon with Muon into one class - simply Muon

Authors: K. A. Assamagan Created: December 2004

Purpose: This is a data object, containing a collection of Combined Muon Objects

Typedef Documentation

◆ CalibResult

typedef std::pair<double,double> Analysis::CalibResult

Definition at line 34 of file CalibrationDataInterfaceBase.h.

◆ MuonNavigation

◆ NameType

typedef std::string Analysis::NameType

string to identify the constituent

string to identify the association

Definition at line 30 of file IConstituent.h.

◆ TagInfoType

typedef std::string Analysis::TagInfoType

Definition at line 19 of file JetTagInfoBase.h.

◆ UncertaintyResult

typedef std::pair<double, double> Analysis::UncertaintyResult

The following typedef is for convenience: most uncertainties can be asymmetric.

The pair holds the positive (first) and negative (second) uncertainties. Note that in the context of systematic uncertainties, "positive" and "negative" may reflect what happens if the uncertainty parameter is varied. This means that the "positive" uncertainty result may be negative etc.

Definition at line 33 of file CalibrationDataContainer.h.

◆ var_map

typedef std::map<std::string,double> Analysis::var_map

Definition at line 55 of file TagNtupleDumper.cxx.

Enumeration Type Documentation

◆ CalibrationStatus

Definition at line 56 of file CalibrationDataVariables.h.

56 {
57 kSuccess = 0, // all OK
58 kRange = 1, // given coordinates outside the range of validity of the calibration
59 kExtrapolatedRange = 2, // given coordinates even outside the extrapolation range
60 kError = 3 // "technical" error (typically: nonexistent object)
61 };

◆ EVReductionStrategy

specification of Eigenvector variations reduction strategy.

For implementation reasons the possibilities are given in "reverse" order.

Definition at line 73 of file CalibrationDataInterfaceROOT.h.

◆ MuonTypes

Definition at line 35 of file JpsiFinder.h.

35{ CC=0, CT=1, TT=2};

◆ OutOfBoundsStrategy

strategies for dealing with specified kinematic variables being outside their range of validity: ignore any items, flag items (this will merely produce a summary at the end of the job), giving up when even a specified extrapolation range is exceeded, or giving up upon any out-of-bound condition.

The strategy can be set in the configuration file. Note that the "GiveUpExtrapolated" strategy (give up upon finding that the kinematic variables are outside even the extrapolation range) implementation is only partial, as this will be flagged only if extrapolation uncertainties are requested.

Definition at line 82 of file CalibrationDataInterfaceROOT.h.

◆ OutOfBoundsType

counter types (to be used when flagging out-of-bounds cases)

Definition at line 85 of file CalibrationDataInterfaceROOT.h.

◆ PairType

Definition at line 34 of file JpsiFinder.h.

34{ MUMU=0, MUTRK=1, TRKTRK=2};

◆ PairTypeEE

Definition at line 47 of file JpsiFinder_ee.h.

◆ Uncertainty

Function Documentation

◆ addContainer()

Int_t Analysis::addContainer ( Analysis::CalibrationDataContainer * cnt,
TFile * file,
const char * tagger,
const char * jetAuthor,
const char * OP,
const char * flavour,
const char * name = 0,
bool isReference = false )

◆ dummyResult()

const CalibResult Analysis::dummyResult ( dummyValue ,
dummyValue  )

◆ get3DSignificance()

double Analysis::get3DSignificance ( const xAOD::Vertex & priVertex,
const std::vector< const xAOD::Vertex * > & secVertex,
const Amg::Vector3D & jetDirection )

Signed decay length significance of the weighted mean of the secondary vertices with respect to the primary vertex.

The sign is taken from the projection of the decay length on the jet axis. Returns 0 if the significance cannot be calculated.

Definition at line 12 of file VertexSignificance.cxx.

14 {
15
16 std::vector<Amg::Vector3D> positions;
17 std::vector<AmgSymMatrix(3)> weightMatrices;
18 // If multiple secondary vertices were reconstructed, then a common (weighted) position will be used
19 // in the signed decay length significance calculation
20 Amg::Vector3D weightTimesPosition(0.,0.,0.);
21 AmgSymMatrix(3) sumWeights;
22 sumWeights.setZero();
23
24 for (const auto& vtx : secVertex) {
25 positions.push_back(vtx->position());
26 weightMatrices.push_back(vtx->covariancePosition().inverse());
27 weightTimesPosition += weightMatrices.back()*positions.back();
28 sumWeights += weightMatrices.back();
29 }
30
31 // now we have the sum of the weights, let's invert this matrix to get the mean covariance matrix
32 bool invertible;
33 AmgSymMatrix(3) meanCovariance;
34 meanCovariance.setZero();
35 sumWeights.computeInverseWithCheck(meanCovariance, invertible);
36 if (!invertible) return 0.;
37
38 // calculate the weighted mean secondary vertex position
39 Amg::Vector3D meanPosition = meanCovariance*weightTimesPosition;
40
41 // add the mean covariance matrix of the secondary vertices to that of the primary vertex
42 // this is the covariance matrix for the decay length
43 AmgSymMatrix(3) covariance = meanCovariance + priVertex.covariancePosition();
44
45 const Amg::Vector3D decayVector = meanPosition - priVertex.position();
46 const double decaylength = decayVector.norm();
47 if (decaylength == 0.) return 0.; //Safety
48
49 const Amg::Vector3D gradient = decayVector / decaylength;
50 const double decaylength_err2 = gradient.dot(covariance * gradient);
51 if (decaylength_err2 <= 0.) return 0.; //Something is wrong
52
53 double decaylength_significance = decaylength / std::sqrt(decaylength_err2);
54
55 // get sign from projection on jet axis
56 if (decayVector.dot(jetDirection) < 0.) decaylength_significance *= -1.;
57
58 return decaylength_significance;
59 }
#define AmgSymMatrix(dim)
if(pathvar)
Eigen::Matrix< double, 3, 1 > Vector3D
Definition of ATLAS Math & Geometry primitives (Amg).
Eigen::Matrix< double, 3, 1 > Vector3D
Definition dot.py:1
STL namespace.

◆ get3DSignificanceCorr()

double Analysis::get3DSignificanceCorr ( const xAOD::Vertex & priVertex,
const std::vector< const xAOD::Vertex * > & secVertex,
const Amg::Vector3D & jetDirection )

Largest signed significance of the individual secondary vertices with respect to the primary vertex.

Vertices whose covariance cannot be inverted are skipped.

Definition at line 61 of file VertexSignificance.cxx.

63 {
64
65 std::vector<double> Sig3D(0);
66 bool success=true;
67 AmgSymMatrix(3) Wgt;
68
69 for (const auto & svrt : secVertex)
70 {
71 Amg::Vector3D SVmPV = svrt->position()-priVertex.position();
72 AmgSymMatrix(3) SVmPVCov = svrt->covariancePosition()+priVertex.covariancePosition();
73 SVmPVCov.computeInverseWithCheck(Wgt, success);
74 if( !success || Wgt(0,0)<=0. || Wgt(1,1)<=0. || Wgt(2,2)<=0. )continue; //Inversion failure
75 double significance = SVmPV.transpose()*Wgt*SVmPV;
76 if(significance <= 0.) continue; //Something is still wrong!
77 significance = std::sqrt(significance);
78 if(SVmPV.dot(jetDirection)<0.) significance *= -1.;
79 Sig3D.push_back(significance);
80 }
81
82 if(Sig3D.size()==0) return 0.;
83
84 return *std::max_element(Sig3D.begin(),Sig3D.end());
85 }
const Amg::Vector3D & position() const
Returns the 3-pos.

◆ getHadronisations()

std::map< std::string, std::string > Analysis::getHadronisations ( const char * filename,
const char * directory )

◆ IID_IBTagLightSecVertexing()

const InterfaceID Analysis::IID_IBTagLightSecVertexing ( "IBTagLightSecVertexing" ,
1 ,
0  )
static

◆ IID_IJetFitterVariablesFactory()

const InterfaceID Analysis::IID_IJetFitterVariablesFactory ( "Analysis::IJetFitterVariablesFactory" ,
1 ,
0  )
static

◆ IID_IMSVVariablesFactory()

const InterfaceID Analysis::IID_IMSVVariablesFactory ( "Analysis::IMSVVariablesFactory" ,
1 ,
0  )
static

◆ IID_JpsiFinder_ee()

const InterfaceID Analysis::IID_JpsiFinder_ee ( "JpsiFinder_ee" ,
1 ,
0  )
static

◆ IID_JpsiPlus1Track()

const InterfaceID Analysis::IID_JpsiPlus1Track ( "JpsiPlus1Track" ,
1 ,
0  )
static

◆ IID_JpsiPlus2Tracks()

const InterfaceID Analysis::IID_JpsiPlus2Tracks ( "JpsiPlus2Tracks" ,
1 ,
0  )
static

◆ IID_NewLikelihoodTool()

const InterfaceID Analysis::IID_NewLikelihoodTool ( "Analysis::NewLikelihoodTool" ,
1 ,
0  )
static

◆ IID_PrimaryVertexRefitter()

const InterfaceID Analysis::IID_PrimaryVertexRefitter ( "PrimaryVertexRefitter" ,
1 ,
0  )
static

◆ showBuildNumber()

void Analysis::showBuildNumber ( const char * filename)

◆ showHadronisations()

void Analysis::showHadronisations ( const char * filename,
const char * directory )

Variable Documentation

◆ CalibZERO

const double Analysis::CalibZERO = 1.e-6

Definition at line 32 of file CalibrationDataInterfaceBase.h.

◆ dummyValue

const double Analysis::dummyValue = -1.

Definition at line 33 of file CalibrationDataInterfaceBase.h.

◆ kMass

double Analysis::kMass = ParticleConstants::chargedKaonMassInMeV
constexpr

Definition at line 35 of file JpsiPlus1Track.cxx.

◆ MaxCalibrationVars

const unsigned int Analysis::MaxCalibrationVars = 10

Maximum dimensionality of the calibration parametrisation.

This is just so that variables do not need to be carried around in various methods.

Definition at line 40 of file CalibrationDataContainer.h.

◆ muMass

double Analysis::muMass = ParticleConstants::muonMassInMeV
constexpr

Definition at line 34 of file JpsiPlus1Track.cxx.

◆ piMass

double Analysis::piMass = ParticleConstants::chargedPionMassInMeV
constexpr

Definition at line 36 of file JpsiPlus1Track.cxx.

◆ pMass

double Analysis::pMass = ParticleConstants::protonMassInMeV
constexpr

Definition at line 34 of file JpsiPlus2Tracks.cxx.