EgammaDefs.h 5.13 KB
Newer Older
1
2
3
4
5
6
// Dear emacs, this is -*- c++ -*-

/*
  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/

7
// $Id: EgammaDefs.h 775814 2016-09-29 12:14:38Z ludovica $
8
9
10
#ifndef XAODEGAMMA_EGAMMADEFS_H
#define XAODEGAMMA_EGAMMADEFS_H

11
12
13
14
extern "C" {
 #include <stdint.h>
 }

15
16
17
18
19

/// Namespace holding all the xAOD EDM classes
namespace xAOD {

  namespace EgammaParameters {
20
     /// for the Authors of the egamma objects
21
22
    /** @brief Default author */
    const uint16_t AuthorUnknown=0x0;
23
    /** @brief Object Reconstructed by standard cluster-based algorithm. Surely not Photon ==> Electron */
24
    const uint16_t AuthorElectron=0x1;
25
    /** @brief Electron reconstructed by the track-based algorithm, here for compatibility with old AOD format*/
26
    const uint16_t AuthorSofte =0x2;
27
    /** @brief Object Reconstructed by standard cluster-based algorithm. Surely not Electron ==> Photon */
28
29
30
    const uint16_t AuthorPhoton=0x4;
    /** @brief Electron reconstructed by the Forward cluster-based algorithm */
    const uint16_t AuthorFwdElectron=0x8;
31
    /** @brief Object Reconstructed by standard cluster-based algorithm. Ambiguous ==> can be either Electron or Photon */
32
    const uint16_t AuthorAmbiguous=0x10;
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
    /** @brief trigger Electrons */
    const uint16_t AuthorTrigElectron=0x20;
    /** @brief trigger Photons */
    const uint16_t AuthorTrigPhoton=0x40;
    /** @brief Photon reconstructed by SW CaloTopo35 seeded clusters */
    const uint16_t AuthorCaloTopo35=0x80;
    /** @brief not an actual author, but used as default in some functions */
    const uint16_t AuthorALL = 0xFFFF;

  //
  // for object quality flags
  //

  enum BitDefOQ {
    /** @brief Dead High Voltage in the EM Presampler */
    DeadHVPS = 0,
    /** @brief Dead High Voltage in the EM strips, middle and back affecting the core of the cluster*/
    DeadHVS1S2S3Core = 1,
    /** @brief Dead High Voltage in the EM strips, middle and back affecting the edge of the cluster*/
    DeadHVS1S2S3Edge = 2,

    /** @brief Non Nominal High Voltage in the EM Presampler */
    NonNominalHVPS = 3,
   /** @brief Non Nominal High Voltage in the EM strips, middle and back*/
    NonNominalHVS1S2S3 = 4,

    /** @brief Missing FEB in the core of the cluster */
    MissingFEBCellCore = 5,
    /** @brief Missing FEB in the edge of the cluster */
    MissingFEBCellEdgePS = 6,
    /** @brief Missing FEB in the edge of the cluster */
    MissingFEBCellEdgeS1 = 7,
    /** @brief Missing FEB in the edge of the cluster */
    MissingFEBCellEdgeS2 = 8,
    /** @brief Missing FEB in the edge of the cluster */
    MissingFEBCellEdgeS3 = 9,

    /** @brief Masked cell in the core of the cluster */
    MaskedCellCore = 10,
    /** @brief Masked presampler cell in the edge of the cluster */
    MaskedCellEdgePS = 11,
    /** @brief Masked strip cell in the edge of the cluster */
    MaskedCellEdgeS1 = 12,
    /** @brief Masked middle cell in the edge of the cluster */
    MaskedCellEdgeS2 = 13,
    /** @brief Masked back cell in the edge of the cluster */
    MaskedCellEdgeS3 = 14,
   /** @brief Missing FEB or masked cell in S1 core (corresponding to the 8 strips in front of the core of the cluster)*/
    BadS1Core = 15,
    /** @brief Sporadic noisy cell in the core of the cluster */
    SporadicNoiseLowQCore = 16,
    /** @brief Sporadic noisy cell in the edge of the cluster */
    SporadicNoiseLowQEdge = 17,
    /** @brief High quality factor cell in the core of the cluster */
    HighQCore = 18,
    /** @brief High quality factor cell in the edge of the cluster */
    HighQEdge = 19,
    /** @brief Affected cell in the core of the cluster */
    AffectedCellCore = 20,
    /** @brief Affected presampler cell in the edge of the cluster */
    AffectedCellEdgePS = 21,
    /** @brief Affected strip cell in the edge of the cluster */
    AffectedCellEdgeS1 = 22,
    /** @brief Affected middle cell in the edge of the cluster */
    AffectedCellEdgeS2 = 23,
    /** @brief Affected back cell in the edge of the cluster */
    AffectedCellEdgeS3 = 24,
    /** @brief High quality factor cell in the HEC */
    HECHighQ = 25,
    /** @brief Out of time cell */
    OutTime =26,
    /** @brief Cleaning based on LArQ factor--> sum[ E(Q>4000)/E]*/
    LArQCleaning=27,
    /** @brief Dead cell in the Tile Calorimeter S0 affecting the hadronic leakage calculation*/
    DeadCellTileS0=28,
    /** @brief Dead cell in the Tile Calorimeter S1,2,3 affecting the hadronic leakage calculation*/
109
110
111
    DeadCellTileS1S2=29,
    /** @brief High R_cell ----> Energy of the most energetic cell / total energy of the cluster */
    HighRcell =30
112
113
114
  };

  /** @brief */
115
116

    const uint32_t BADCLUSELECTRON =
117
118
119
120
    0x1 << MaskedCellCore |
    0x1 << MissingFEBCellCore |
    0x1 << MissingFEBCellEdgeS1 |
    0x1 << MissingFEBCellEdgeS2 |
121
122
123
124
    0x1 << DeadHVS1S2S3Core |
    0x1 << DeadHVS1S2S3Edge ;

    const uint32_t BADCLUSPHOTON =
125
126
127
128
    0x1 << MaskedCellCore |
    0x1 << MissingFEBCellCore |
    0x1 << MissingFEBCellEdgeS1 |
    0x1 << MissingFEBCellEdgeS2 |
129
    0x1 << DeadHVS1S2S3Core |
130
    0x1 << DeadHVS1S2S3Edge |
131
132
    0x1 << BadS1Core;

133
    const uint32_t ALLOQ= 0xFFFFFFFF;
134

135
136

    struct ROOT6_NamespaceAutoloadHook{};
137
138
139
140
  }
}

#endif // XAODEGAMMA_EGAMMADEFS_H