ATLAS Offline Software
Namespaces | Classes | Typedefs | Enumerations | Functions
Ringer Namespace Reference

Namespace dedicated for Ringer utilities. More...

Namespaces

 Discrimination
 Namespace dedicated for Ringer Discrimination utilities.
 
 onnx
 
 PreProcessing
 Namespace dedicated for Ringer pre-processing utilities.
 

Classes

class  AsgRingerSelectorTool
 
class  BitdefElectron_v1
 Define electron bits (v1) More...
 
class  BuildCaloRingsFctor
 
class  BuildCaloRingsFctorBase
 Interface for CaloRings builder functor. More...
 
class  CaloAsymRingsBuilder
 
class  CaloRingerAlgorithm
 Algorithm responsable for CaloRinger execution. More...
 
class  CaloRingerElectronsReader
 
class  CaloRingerInputReader
 
class  CaloRingerPhotonsReader
 
class  CaloRingsBuilder
 
class  CaloStripsRingsBuilder
 
class  DepVarStruct
 
class  ElectronTAccept_v1
 Get electron defined TAccept and its masks. More...
 
struct  GetParticleProp
 template to get particle_t name and if it has cluster access. More...
 
class  IAsgRingerSelectorTool
 
class  ICaloRingerElectronsReader
 
class  ICaloRingerInputReader
 
class  ICaloRingerPhotonsReader
 
class  ICaloRingsBuilder
 
class  IRingerProcedure
 The base interface for all Ringer procedures. More...
 
class  IRingerProcedureWrapper
 Specialization for Discriminator procedure. More...
 
class  IRingerProcedureWrapper< Discrimination::IDiscriminator >
 
class  IRingerProcedureWrapper< PreProcessing::IPreProcessor >
 
class  IRingerProcedureWrapperBase
 Used as base for all IRingerProcedureWrapper template specializations. More...
 
class  RingerCommonSelector
 
class  RingerIOVarDepObj
 Objects that can be recorded/read into/from configuration files. More...
 
class  RingerProcedureType
 Check Ringer Procedure type. More...
 
struct  RingerProcedureType< procedure_t * >
 RingerProcedureType specialization to ensure that procedure_t is not a pointer. More...
 
class  RingerProcedureWrapper
 Specialization for Discriminator procedure. More...
 
class  RingerProcedureWrapper< procedure_t, etaDependency, etDependency, segType, false, true, false >
 
class  RingerProcedureWrapper< procedure_t, etaDependency, etDependency, segType, true, false, false >
 
class  VariableDependency
 Interface for possible Eta and Et variable dependency. More...
 
class  xAODRingSetConfWriter
 Algorithm used to write the RingSets configuration. More...
 

Typedefs

typedef ElectronTAccept_v1 ElectronTAccept
 
typedef BitdefElectron_v1 BitdefElectron
 
typedef IRingerProcedureWrapper< Discrimination::IDiscriminatorIDiscrWrapper
 Facilitate access into Discrimination Wrappers. More...
 
typedef IDiscrWrapper::WrapperCollection IDiscrWrapperCollection
 Facilitate access into Discrimination Wrappers. More...
 
typedef IRingerProcedureWrapper< PreProcessing::IPreProcessorIPreProcWrapper
 Facilitate access into Threshold Wrappers. More...
 
typedef IPreProcWrapper::WrapperCollection IPreProcWrapperCollection
 Facilitate access into Threshold Wrappers collection. More...
 
typedef IRingerProcedureWrapperBase IProcWrapperBase
 Reduce verbosity. More...
 
typedef std::vector< IProcWrapperBaseIProcWrapperBaseCollection
 Collection of interface base. More...
 

Enumerations

enum  CalJointSection { EM, HAD, NJointSections, UnknownJointSection }
 the joint calorimeter sections. More...
 
enum  CalJointLayer {
  PS, EM1, EM2, EM3,
  HAD1, HAD2, HAD3, NJointLayers,
  UnknownJointLayer
}
 the joint calorimeter layers. More...
 
enum  SegmentationType {
  NoSegmentation = 0, TrackCalSegmentation, TrackCalPatTypeSegmentation, TrackCalJointSections,
  TrackCalJointLayers, NSegmentations
}
 the possible procedure longitudinal segmentation types. More...
 
enum  EtaDependency { EtaIndependent = 0, EtaDependent, NEtaDependencies }
 Specify eta position dependency. More...
 
enum  EtDependency { EtIndependent = 0, EtDependent, NEtDependencies }
 Specify et position dependency. More...
 
enum  Requirement {
  Loose_CutID_Pd = 0, Medium_CutID_Pd, Tight_CutID_Pd, Loose_CutID_Pf,
  Medium_CutID_Pf, Tight_CutID_Pf, Loose_LH_Pd, Medium_LH_Pd,
  Tight_LH_Pd, Loose_LH_Pf, Medium_LH_Pf, Tight_LH_Pf,
  Medium_MaxSP, Loose, Medium, Tight,
  NoCut, NRequirements
}
 the cut requirement More...
 

Functions

bool check_wrap_around (const double phi_center, const bool reverse_wrap)
 Helper function to identify wrap around cases. More...
 
double fix_wrap_around (const double phi_value, const bool reverse_wrap)
 Helper function to fix wrap around cases. More...
 

Detailed Description

Namespace dedicated for Ringer utilities.

WARNING: Do not change the order of the enumerations for backward files compatibility!!

This means that if a new value is needed, add it to the end (before the Nxxx enumeration) of the enumeration, instead of adding it to any place in the enumeration.

After adding a enumeration type, also add it to the methods in the RingerSelectorToolsDefs.cxx file.

Namespace dedicated for Ringer utilities

Typedef Documentation

◆ BitdefElectron

Definition at line 150 of file ElectronTAccept.h.

◆ ElectronTAccept

Definition at line 148 of file ElectronTAccept.h.

◆ IDiscrWrapper

Facilitate access into Discrimination Wrappers.

Definition at line 140 of file RingerDiscriminatorWrapper.h.

◆ IDiscrWrapperCollection

Facilitate access into Discrimination Wrappers.

Definition at line 145 of file RingerDiscriminatorWrapper.h.

◆ IPreProcWrapper

Facilitate access into Threshold Wrappers.

Definition at line 114 of file RingerPreProcessorWrapper.h.

◆ IPreProcWrapperCollection

Facilitate access into Threshold Wrappers collection.

Definition at line 118 of file RingerPreProcessorWrapper.h.

◆ IProcWrapperBase

Reduce verbosity.

Definition at line 126 of file RingerProcedureWrapper.h.

◆ IProcWrapperBaseCollection

Collection of interface base.

Definition at line 131 of file RingerProcedureWrapper.h.

Enumeration Type Documentation

◆ CalJointLayer

the joint calorimeter layers.

  • PS stands for pre-sampler barrel and endcap;
  • EM1 stands for the barrel and endcap of the first eletromagnetic calorimeter layer.
  • EM2 stands for the barrel and endcap of the second eletromagnetic calorimeter layer.
  • EM3 stands for the barrel and endcap of the third eletromagnetic calorimeter layer.
  • HAD1 stands for the first hadronic calorimeter layer of the TileCal barrel and extended barrel.
  • HAD2 stands for the second hadronic calorimeter layer of the TileCal barrel and extended barrel.
  • HAD3 stands for the third hadronic calorimeter layer of the TileCal barrel and extended barrel.
Enumerator
PS 
EM1 
EM2 
EM3 
HAD1 
HAD2 
HAD3 
NJointLayers 
UnknownJointLayer 

Definition at line 45 of file CaloRingsDefs.h.

45  {
46  PS,
47  EM1,
48  EM2,
49  EM3,
50  HAD1,
51  HAD2,
52  HAD3,
55 };

◆ CalJointSection

the joint calorimeter sections.

  • EM stands for all eletromagnetic layers (included Pre-Sampler);
  • HAD stands for all hadronic calorimeter layers.
Enumerator
EM 
HAD 
NJointSections 
UnknownJointSection 

Definition at line 18 of file CaloRingsDefs.h.

18  {
19  EM,
20  HAD,
23 };

◆ EtaDependency

Specify eta position dependency.

This specifies whether the discriminator will operate only for a small (bin) eta region or will operate for the full analysis region (generally the ATLAS precision region).

Enumerator
EtaIndependent 
EtaDependent 
NEtaDependencies 

Definition at line 81 of file RingerSelectorToolsEnums.h.

81  {
82  EtaIndependent = 0,
85 };

◆ EtDependency

Specify et position dependency.

This specifies whether the discriminator will operate only for a small (bin) Et region or will operate for the full analysis region (generally the ATLAS precision region).

Enumerator
EtIndependent 
EtDependent 
NEtDependencies 

Definition at line 95 of file RingerSelectorToolsEnums.h.

95  {
96  EtIndependent = 0,
99 };

◆ Requirement

the cut requirement

Enumerator
Loose_CutID_Pd 
Medium_CutID_Pd 
Tight_CutID_Pd 
Loose_CutID_Pf 
Medium_CutID_Pf 
Tight_CutID_Pf 
Loose_LH_Pd 
Medium_LH_Pd 
Tight_LH_Pd 
Loose_LH_Pf 
Medium_LH_Pf 
Tight_LH_Pf 
Medium_MaxSP 
Loose 
Medium 
Tight 
NoCut 
NRequirements 

Definition at line 104 of file RingerSelectorToolsEnums.h.

104  {
105  Loose_CutID_Pd = 0, // Same detection probability as CutID Loose
106  Medium_CutID_Pd, // Same detection probability as CutID Medium
107  Tight_CutID_Pd, // Same detection probability as CutID Tight
108  Loose_CutID_Pf, // Same false alarm probability as CutID Loose
109  Medium_CutID_Pf, // Same false alarm probability as CutID Medium
110  Tight_CutID_Pf, // Same false alarm probability as CutID Tight
111  Loose_LH_Pd, // Same detection probability as LH Loose
112  Medium_LH_Pd, // Same detection probability as LH Medium
113  Tight_LH_Pd, // Same detection probability as LH Tight
114  Loose_LH_Pf, // Same false alarm probability as LH Loose
115  Medium_LH_Pf, // Same false alarm probability as LH Medium
116  Tight_LH_Pf, // Same false alarm probability as LH Tight
117  Medium_MaxSP, // Maximum SP-product
118  Loose, // Same as LooseCutIDPd
119  Medium, // Same as MediumSP
120  Tight, // Same as TightCutIDPf
121  NoCut, // Run to retrieve discriminators output, but no cut is applied
122  NRequirements // Number of Requirements available
123 };

◆ SegmentationType

the possible procedure longitudinal segmentation types.

  • NoSegmentation stands for a unique representation for all data. This may mean that the procedure:

    o is not applied for a pattern segment;

    o has a specialized implemented approach that works in distinct depths of the segmented information.

    o cannot be applied in a segmentation approach. This is the case whenever the procedure is not applied in the first layer or if the procedure is the application of a threshold. In another words, only the first PreProcessor and the first discriminator may have access to segmented information, the later only if its pre-processing chain does not affect the output segmentation.

  • TrackCalSegmentation will segmentate track (if information available) from calorimeter.
  • TrackCalPatTypeSegmentation will segmentate track (if information available) from calorimeter, the latter also being segmented between the standard calorimeter patterns and rings.
  • TrackCalJointSections will segmentate track (if information available) from calorimeter. Besides, the calorimeter information will be segmentated through CalJointSections (see xAODCaloRings/CaloRingsDefs.h).
  • TrackCalJointLayers will segmentate track (if information available) from calorimeter. Besides, the calorimeter information will be segmentated through CalJointLayers (see xAODCaloRings/CaloRingsDefs.h).

If adding a new value on this enumeration, add it to the numberOfSegments function on RingerSelectorToolsDefs.cxx

Enumerator
NoSegmentation 
TrackCalSegmentation 
TrackCalPatTypeSegmentation 
TrackCalJointSections 
TrackCalJointLayers 
NSegmentations 

Definition at line 64 of file RingerSelectorToolsEnums.h.

Function Documentation

◆ check_wrap_around()

bool Ringer::check_wrap_around ( const double  phi_center,
const bool  reverse_wrap 
)
inline

Helper function to identify wrap around cases.

if reverse_wrap = true, then we check for reverse wrap_arround.

Definition at line 17 of file PhiComps.h.

17  {
18  if (reverse_wrap) return (phi_center < (1.0 - M_PI)); // 1.0 is the PI_THRESHOLD
19  else return (phi_center > (M_PI - 1.0));
20  }

◆ fix_wrap_around()

double Ringer::fix_wrap_around ( const double  phi_value,
const bool  reverse_wrap 
)
inline

Helper function to fix wrap around cases.

if reverse_wrap = true, then we fix reverse wrap_arround cases.

Definition at line 26 of file PhiComps.h.

26  {
27  if (reverse_wrap) {
28  if (phi_value > 0.) return (phi_value - 2*M_PI);
29  } else {
30  if (phi_value < 0.) return (phi_value + 2*M_PI);
31  }
32  return phi_value;
33  }

◆ getType() [1/2]

template<typename T >
T Ringer::getType ( const char *  cStr)

Return Ringer enumeration of type T identifying string type:

◆ getType() [2/2]

template<>
Requirement Ringer::getType ( const char *  cStr)

Specialization for SegmentationType.

Specialization for Requirement.

Specialization for EtDependency.

Specialization for EtaDependency.

◆ numberOfSegments()

unsigned Ringer::numberOfSegments ( const SegmentationType  e)

◆ toStr() [1/4]

const char* Ringer::toStr ( EtaDependency  e)

Transform enumeration types to string.

◆ toStr() [2/4]

const char* Ringer::toStr ( EtDependency  e)

Transform enumeration types to string.

◆ toStr() [3/4]

const char* Ringer::toStr ( Requirement  e)

Transform enumeration types to string.

◆ toStr() [4/4]

const char* Ringer::toStr ( SegmentationType  e)

Transform enumeration types to string.

Ringer::UnknownJointLayer
@ UnknownJointLayer
Definition: CaloRingsDefs.h:54
Ringer::Medium_MaxSP
@ Medium_MaxSP
Definition: RingerSelectorToolsEnums.h:117
Ringer::Tight_CutID_Pd
@ Tight_CutID_Pd
Definition: RingerSelectorToolsEnums.h:107
Ringer::HAD2
@ HAD2
Definition: CaloRingsDefs.h:51
Ringer::EtDependent
@ EtDependent
Definition: RingerSelectorToolsEnums.h:97
Ringer::EM3
@ EM3
Definition: CaloRingsDefs.h:49
Ringer::NEtaDependencies
@ NEtaDependencies
Definition: RingerSelectorToolsEnums.h:84
Ringer::HAD3
@ HAD3
Definition: CaloRingsDefs.h:52
Ringer::HAD1
@ HAD1
Definition: CaloRingsDefs.h:50
Ringer::TrackCalSegmentation
@ TrackCalSegmentation
Definition: RingerSelectorToolsEnums.h:66
Ringer::EtIndependent
@ EtIndependent
Definition: RingerSelectorToolsEnums.h:96
Ringer::EM2
@ EM2
Definition: CaloRingsDefs.h:48
Ringer::NJointLayers
@ NJointLayers
Definition: CaloRingsDefs.h:53
Ringer::HAD
@ HAD
Definition: CaloRingsDefs.h:20
Ringer::NJointSections
@ NJointSections
Definition: CaloRingsDefs.h:21
M_PI
#define M_PI
Definition: ActiveFraction.h:11
Ringer::TrackCalPatTypeSegmentation
@ TrackCalPatTypeSegmentation
Definition: RingerSelectorToolsEnums.h:67
Ringer::Loose
@ Loose
Definition: RingerSelectorToolsEnums.h:118
Ringer::Tight
@ Tight
Definition: RingerSelectorToolsEnums.h:120
Ringer::Loose_CutID_Pd
@ Loose_CutID_Pd
Definition: RingerSelectorToolsEnums.h:105
Ringer::Tight_CutID_Pf
@ Tight_CutID_Pf
Definition: RingerSelectorToolsEnums.h:110
Ringer::Medium
@ Medium
Definition: RingerSelectorToolsEnums.h:119
Ringer::UnknownJointSection
@ UnknownJointSection
Definition: CaloRingsDefs.h:22
Ringer::PS
@ PS
Definition: CaloRingsDefs.h:46
Ringer::EtaDependent
@ EtaDependent
Definition: RingerSelectorToolsEnums.h:83
Ringer::EM
@ EM
Definition: CaloRingsDefs.h:19
Ringer::NSegmentations
@ NSegmentations
Definition: RingerSelectorToolsEnums.h:70
Ringer::TrackCalJointLayers
@ TrackCalJointLayers
Definition: RingerSelectorToolsEnums.h:69
Ringer::Medium_CutID_Pd
@ Medium_CutID_Pd
Definition: RingerSelectorToolsEnums.h:106
Ringer::Medium_LH_Pf
@ Medium_LH_Pf
Definition: RingerSelectorToolsEnums.h:115
Ringer::NEtDependencies
@ NEtDependencies
Definition: RingerSelectorToolsEnums.h:98
Ringer::NoCut
@ NoCut
Definition: RingerSelectorToolsEnums.h:121
Ringer::Loose_CutID_Pf
@ Loose_CutID_Pf
Definition: RingerSelectorToolsEnums.h:108
Ringer::Loose_LH_Pd
@ Loose_LH_Pd
Definition: RingerSelectorToolsEnums.h:111
Ringer::Loose_LH_Pf
@ Loose_LH_Pf
Definition: RingerSelectorToolsEnums.h:114
Ringer::EtaIndependent
@ EtaIndependent
Definition: RingerSelectorToolsEnums.h:82
Ringer::TrackCalJointSections
@ TrackCalJointSections
Definition: RingerSelectorToolsEnums.h:68
Ringer::NRequirements
@ NRequirements
Definition: RingerSelectorToolsEnums.h:122
Ringer::Tight_LH_Pd
@ Tight_LH_Pd
Definition: RingerSelectorToolsEnums.h:113
Ringer::EM1
@ EM1
Definition: CaloRingsDefs.h:47
Ringer::Medium_LH_Pd
@ Medium_LH_Pd
Definition: RingerSelectorToolsEnums.h:112
Ringer::Tight_LH_Pf
@ Tight_LH_Pf
Definition: RingerSelectorToolsEnums.h:116
Ringer::Medium_CutID_Pf
@ Medium_CutID_Pf
Definition: RingerSelectorToolsEnums.h:109
Ringer::NoSegmentation
@ NoSegmentation
Definition: RingerSelectorToolsEnums.h:65