ATLAS Offline Software
Loading...
Searching...
No Matches
JetMoment.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef JETEVENT_JETMOMENT_H
6#define JETEVENT_JETMOMENT_H
7
8#include <tuple>
9#include <string>
10
12{
13 typedef float float_t;
14 typedef bool tag_t;
15 typedef std::tuple<float_t,tag_t> database_t;
16
17 static float_t invalidMoment() { return float_t(0.); }
18
19
20 class MomentData : public database_t
21 {
22 public:
23
25 {
26 this->setMoment(0.);
27 this->setTag(false);
28 }
30 {
31 this->setMoment(moment);
32 this->setTag(tag);
33 }
34
35 ~MomentData() = default;
36
37 void setMoment(float_t moment) { std::get<0>(*this) = moment; }
38 void setTag(tag_t tag) { std::get<1>(*this) = tag; }
40 { std::get<0>(*this) = moment; std::get<1>(*this) = tag; }
41
42 float_t moment() const { return std::get<0>(*this); }
43 tag_t tag() const { return std::get<1>(*this); }
44
45 // private:
46
47
48 };
49};
50
51
52
53/* /\** */
54/* @class JetMoment */
55/* @authors Michel Lefebvre<lefebvre@uvic.ca>, Peter Loch <loch@physics.arizona.edu>, */
56/* Rob McPherson <rmcphers@triumf.ca>, Rolf Seuster <seuster@cern.ch> */
57/* Sasha Savine <savin@physics.arizona.edu> Kai Voss <kvoss@cern.ch> */
58/* @date 28-February-2005 */
59/* @brief OBSOLETE defines enums and data types for different moments of @c Jet */
60
61/* After release 14.1.0 this class becomes obsolete since the new @c Jet class */
62/* defines directly an equivalent concept */
63
64/* *\/ */
65
66/* #include <string> */
67
68/* class JetMoment { */
69
70/* public: */
71/* /\** @brief (DEPRECATED) enums to identify different moments */
72/* * */
73/* * Each enum corresponds to a different characteristic moment of a */
74/* * @c Jet. */
75/* * */
76/* *\/ */
77/* enum MomentType { */
78/* /\** electro-magnetic energy fraction of jets *\/ */
79/* EM_FRACTION_MCTRUTH = 0x0001, /\** EM fraction determined from the MC truth *\/ */
80/* EM_FRACTION_CLUSTER = 0x0002, /\** EM fraction determined from cluster classification *\/ */
81/* EM_FRACTION_CALIBHIT = 0x0003, /\** EM fraction determined from Calibration Hits *\/ */
82/* EM_FRACTION_RECOTRACKS = 0x0004, /\** EM fraction determined from reconstructed tracks *\/ */
83/* EM_ENERGY = 0x0005, /\** jet energy on EM scale *\/ */
84/* EM_OVER_ESUM = 0x0010, /\** EM energy over jet energy *\/ */
85
86/* /\** track related quantities - tracks pointing to CaloTopoClusters *\/ */
87/* TRACKS_E = 0x0080, /\** Sum of energy from reconstructed tracks *\/ */
88/* TRACKS_P = 0x0081, /\** magnitude of Sum of momenta from reconstructed tracks *\/ */
89/* TRACKS_SUM_P = 0x0082, /\** scalar Sum of momenta magnitude from reconstructed tracks *\/ */
90/* TRACKS_DELTA_ETA = 0x0083, /\** difference in eta between tracks and jet *\/ */
91/* TRACKS_DELTA_PHI = 0x0084, /\** difference in phi between tracks and jet *\/ */
92/* TRACKS_RMS_ETA = 0x0085, /\** squares of differences in eta between tracks and their sum *\/ */
93/* TRACKS_RMS_PHI = 0x0086, /\** squares of differences in phi between tracks and their sum *\/ */
94
95/* /\** measures for the jet area *\/ */
96/* CALOAREA = 0x0101, /\** Area computed from the CaloCell area inside the jet *\/ */
97/* AMAREA = 0x0102, /\** Area computed from Angular (2nd) Moments : A=M2(eta)*M2(phi) *\/ */
98/* GHOSTAREA = 0x0103, /\** Area computed via energyless ghost particles *\/ */
99/* ELLIPTICAREA = 0x0104, /\** Area computed via circles around constituents *\/ */
100/* ENG_FR005 = 0x0110, /\** fraction of energy in 5% of max distance parameter (R or kT)*\/ */
101/* ENG_FR010 = 0x0111, /\** fraction of energy in 10% of max distance parameter (R or kT)*\/ */
102/* ENG_FR015 = 0x0112, /\** fraction of energy in 15% of max distance parameter (R or kT)*\/ */
103/* ENG_FR025 = 0x0113, /\** fraction of energy in 25% of max distance parameter (R or kT)*\/ */
104/* ENG_FR050 = 0x0114, /\** fraction of energy in 50% of max distance parameter (R or kT)*\/ */
105/* WIDTH = 0x0121, /\** pT weighted sum of constituent DR wrt to the jet axis *\/ */
106
107/* /\** sub jet structure of jets *\/ */
108/* FLIP_Y12 = 0x0181, /\** for kT: flip value for 1->2 subjets *\/ */
109/* FLIP_Y23 = 0x0182, /\** for kT: flip value for 2->3 subjets *\/ */
110/* FLIP_Y34 = 0x0183, /\** for kT: flip value for 3->4 subjets *\/ */
111/* FLIP_Y45 = 0x0184, /\** for kT: flip value for 4->5 subjets *\/ */
112
113/* /\** Convex hull of jets *\/ */
114/* HULL_AREA = 0x0200, */
115/* HULL_LENGHT = 0x0201, */
116
117/* /\** noise estimate in the jet */
118/* *\/ */
119
120/* NOISEEXT = 0x300, */
121
122/* /\** Track jet corrections */
123/* *\/ */
124
125/* SEMILEPTONIC_B_JES = 0x0401, /\** Multiplicative jet energy scale correction to semileptonic b-jets*\/ */
126/* FTRACK = 0x0402, /\** Fraction of jet energy carried by charged tracks *\/ */
127/* FTRACK_CORRECTION = 0x0403, /\** Multiplicative correction to jet energy derived from f_Track*\/ */
128/* PRIMARY_VTX_FRACTION = 0x0404, /\** Matched track pT fraction from 1st (sum pt^2) PV in Event *\/ */
129/* JVF_CORRECTION = 0x0405, /\** Multiplicative correction to jet energy derived from JVF (above) *\/ */
130
131/* UNKNOWN = 0x8000 /\** unknown moment *\/ */
132/* }; */
133
134/* static const double DEFAULTVALUE; */
135
136/* private: */
137
138/* // Friends */
139
140/* // Data members */
141
142/* MomentType m_type; */
143
144/* /\** @brief the value of the cluster moment. *\/ */
145/* double m_value; */
146
147/* public: */
148
149/* /\** */
150/* * @brief Constructor. */
151/* * @param value The actual value of the moment */
152/* *\/ */
153/* JetMoment(const MomentType &type ,const double &value) */
154/* : m_type(type), m_value(value) { } */
155
156/* /\** */
157/* * @brief default Constructor. */
158/* * */
159/* * defines the default moment value */
160/* *\/ */
161/* JetMoment() : m_type(UNKNOWN), m_value(0.) { } */
162
163/* // Destructors */
164
165/* virtual ~JetMoment() { } */
166
167/* // Methods */
168
169/* /\** */
170/* * @brief returns the value of this moment */
171/* * @return a const reference to the double holding the value of the moment */
172/* *\/ */
173/* const double & getValue() const { return m_value; } */
174
175/* const MomentType & getType() const { return m_type; } */
176
177/* bool getName(const MomentType& type, std::string& name) const; */
178
179//};
180
181#endif // JETEVENT_JETMOMENT_H
182
void setData(float_t moment, tag_t tag)
Definition JetMoment.h:39
MomentData(float_t moment, tag_t tag)
Definition JetMoment.h:29
tag_t tag() const
Definition JetMoment.h:43
float_t moment() const
Definition JetMoment.h:42
void setTag(tag_t tag)
Definition JetMoment.h:38
void setMoment(float_t moment)
Definition JetMoment.h:37
float float_t
Definition JetMoment.h:13
std::tuple< float_t, tag_t > database_t
Definition JetMoment.h:15
bool tag_t
Definition JetMoment.h:14
static float_t invalidMoment()
Definition JetMoment.h:17