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

Namespaces

namespace  Sel
namespace  SubCalo
namespace  TowerBins

Classes

struct  AddEventShape
struct  ByEtaRange
struct  ByLayer
struct  ByLayers
struct  ByLayersN
struct  ByLayersP
struct  ByLayersWithEtaRange
class  HIEventSelectionTool
class  HIPileupTool
class  HIVertexSelectionTool
class  IHIEventSelectionTool
class  IHIPileupTool
class  IHIVertexSelectionTool

Enumerations

enum  BinningScheme { TOWER = 100 , COMPACT = 562 }

Functions

void fillSummary (const xAOD::HIEventShapeContainer *in, xAOD::HIEventShape *out, const std::function< bool(const xAOD::HIEventShape *)> &incFunction, const std::function< void(xAOD::HIEventShape *, const xAOD::HIEventShape *)> &addFunction)
void fillSummary (const xAOD::HIEventShapeContainer *in, xAOD::HIEventShape *out, const std::function< bool(const xAOD::HIEventShape *)> &incFunction)
void fillSummary (const xAOD::HIEventShapeContainer *in, xAOD::HIEventShape *out, const std::set< unsigned int > &indices, const std::function< void(xAOD::HIEventShape *, const xAOD::HIEventShape *)> &addFunction)
float getModulation (const xAOD::HIEventShape *es, const std::vector< unsigned int > &harmonics, float phi)
int setHarmonics (std::vector< unsigned int > &in)

Variables

constexpr AddEventShape AddES =AddEventShape()

Enumeration Type Documentation

◆ BinningScheme

Enumerator
TOWER 
COMPACT 

Definition at line 16 of file HIEventDefs.h.

16{ TOWER = 100, COMPACT = 562 };
@ COMPACT
Definition HIEventDefs.h:16
@ TOWER
Definition HIEventDefs.h:16

Function Documentation

◆ fillSummary() [1/3]

void HI::fillSummary ( const xAOD::HIEventShapeContainer * in,
xAOD::HIEventShape * out,
const std::function< bool(const xAOD::HIEventShape *)> & incFunction )

Definition at line 71 of file HIEventShapeSummaryUtils.cxx.

73 {
74 for(const auto sItr : *in )
75 {
76 if(incFunction(sItr)) HI::AddES(out,sItr);
77 }
78 }
constexpr AddEventShape AddES

◆ fillSummary() [2/3]

void HI::fillSummary ( const xAOD::HIEventShapeContainer * in,
xAOD::HIEventShape * out,
const std::function< bool(const xAOD::HIEventShape *)> & incFunction,
const std::function< void(xAOD::HIEventShape *, const xAOD::HIEventShape *)> & addFunction )

Definition at line 53 of file HIEventShapeSummaryUtils.cxx.

56 {
57 for(const auto sItr : *in )
58 {
59 if(incFunction(sItr)) addFunction(out,sItr);
60 }
61 }

◆ fillSummary() [3/3]

void HI::fillSummary ( const xAOD::HIEventShapeContainer * in,
xAOD::HIEventShape * out,
const std::set< unsigned int > & indices,
const std::function< void(xAOD::HIEventShape *, const xAOD::HIEventShape *)> & addFunction )

Definition at line 63 of file HIEventShapeSummaryUtils.cxx.

66 {
67 for(const auto i : indices ) addFunction(out,in->at(i));
68 }
const T * at(size_type n) const
Access an element, as an rvalue.

◆ getModulation()

float HI::getModulation ( const xAOD::HIEventShape * es,
const std::vector< unsigned int > & harmonics,
float phi )

Definition at line 80 of file HIEventShapeSummaryUtils.cxx.

81 {
82 float mod=1;
83 for(const auto itr : harmonics)
84 {
86 mod+=sc.apply(es->etSin().at(itr-1),es->etCos().at(itr-1));
87 }
88 return mod;
89 }
Scalar phi() const
phi method
static Double_t sc
const std::vector< float > & etSin() const
sine (x) part of the harmonic modulation strength
const std::vector< float > & etCos() const
cosine (y) part of the harmonic modulation strength Following convention is used: index 0 is first ha...
Helper to simultaneously calculate sin and cos of the same angle.
Definition sincos.h:39

◆ setHarmonics()

int HI::setHarmonics ( std::vector< unsigned int > & in)

Definition at line 90 of file HIEventShapeSummaryUtils.cxx.

91 {
92 for(unsigned int i=0; i<in.size(); i++)
93 {
94 int harmonic=in[i]-1; //v_0=1 by construction
95 if(harmonic < 0) return i;
96 in[i]=harmonic;
97 }
98 return -1;
99 }

Variable Documentation

◆ AddES

AddEventShape HI::AddES =AddEventShape()
constexpr

Definition at line 42 of file HIEventShapeSummaryUtils.h.