ATLAS Offline Software
Loading...
Searching...
No Matches
DipzLikelihoodCmp.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 TRIGHLTJETHYPO_DipzLIKELIHOODCMP_H
6#define TRIGHLTJETHYPO_DipzLIKELIHOODCMP_H
7
8/********************************************************************
9 *
10 * NAME: DipzLikelihoodCmp.h
11 * PACKAGE: Trigger/TrigHypothesis/TrigHLTJetHypo
12 *
13 * Based on DipzMLPLCondition by I. Ochoa
14 *
15 * This file contains the following function objects:
16 *
17 * DipzLilihood: This calculates the likelihood of a hypo jet vector
18 * according to the DIPz criteria. Clients of
19 * this calculation include the DIPZMLPLCondtion and
20 * the DIPZ-HT scenario.
21 *
22 * DipzLikeihoodCmp: This compares the likelihood of two hypo jet vectors.
23 * The comparator is used in the DIPZ-HT scenario
24 * to identify which hypoJetVector taken from
25 * a collection of hypoJetVectors maximises the likelihood.
26 *
27 *
28 *********************************************************************/
29
31#include <string>
32
33
34namespace HypoJet{
35 class IJet;
36}
37
38
39
41public:
42 DipzLikelihood(const std::string &decName_z,
43 const std::string &decName_negLogSigma2);
44
45 ~DipzLikelihood() = default;
46 double operator()(const HypoJetVector&) const;
47
48 private:
49
50 const std::string m_decName_z;
51 const std::string m_decName_negLogSigma2;
52
53 double getDipzMLPLDecValue(const pHypoJet &ip,
54 const std::string &decName) const;
55
56 double calcNum(double acmlt, const pHypoJet &ip) const;
57
58 double calcDenom(double acmlt, const pHypoJet &ip) const;
59
60 double calcLogTerm(double acmlt, const pHypoJet &ip, double zhat) const;
61
62 double checkedRatio(double num, double den) const;
63};
64
65
67public:
68 DipzLikelihoodCmp(const std::string &decName_z,
69 const std::string &decName_negLogSigma2);
70
71 bool operator()(const HypoJetVector&, const HypoJetVector&);
72private:
73
75
76};
77
78
79#endif
std::vector< pHypoJet > HypoJetVector
Definition HypoJetDefs.h:27
std::shared_ptr< const HypoJet::IJet > pHypoJet
Definition HypoJetDefs.h:25
bool operator()(const HypoJetVector &, const HypoJetVector &)
DipzLikelihood m_likelihoodCalculator
DipzLikelihoodCmp(const std::string &decName_z, const std::string &decName_negLogSigma2)
double checkedRatio(double num, double den) const
const std::string m_decName_z
double calcNum(double acmlt, const pHypoJet &ip) const
~DipzLikelihood()=default
double operator()(const HypoJetVector &) const
double calcLogTerm(double acmlt, const pHypoJet &ip, double zhat) const
const std::string m_decName_negLogSigma2
double calcDenom(double acmlt, const pHypoJet &ip) const
DipzLikelihood(const std::string &decName_z, const std::string &decName_negLogSigma2)
double getDipzMLPLDecValue(const pHypoJet &ip, const std::string &decName) const