55 StatusCode
sc = StatusCode::SUCCESS;
59#define DECOR(TYPE,N) xAOD::Egamma::Decorator<TYPE> N (m_auxPrefix + #N)
60 DECOR (
float, Es0LowGain);
61 DECOR (
float, Es0MedGain);
62 DECOR (
float, Es0HighGain);
64 DECOR (
float, Es1LowGain);
65 DECOR (
float, Es1MedGain);
66 DECOR (
float, Es1HighGain);
68 DECOR (
float, Es2LowGain);
69 DECOR (
float, Es2MedGain);
70 DECOR (
float, Es2HighGain);
72 DECOR (
float, Es3LowGain);
73 DECOR (
float, Es3MedGain);
74 DECOR (
float, Es3HighGain);
81 float cell_sum_energy_gainlow[4];
82 float cell_sum_energy_gainmed[4];
83 float cell_sum_energy_gainhgh[4];
84 for(
int i=0; i<4; i++){
85 cell_sum_energy_gainlow[i]=0;
86 cell_sum_energy_gainmed[i]=0;
87 cell_sum_energy_gainhgh[i]=0;
95 for (
const CaloCell* cell : *cluster) {
96 int sampling = cell->caloDDE()->getSampling();
99 case CaloCell_ID::PreSamplerB:
100 case CaloCell_ID::PreSamplerE:
103 case CaloCell_ID::EMB1:
104 case CaloCell_ID::EME1:
107 case CaloCell_ID::EMB2:
108 case CaloCell_ID::EME2:
111 case CaloCell_ID::EMB3:
112 case CaloCell_ID::EME3:
119 if(layer < 0)
continue;
121 switch(cell->gain()){
122 case 0: cell_sum_energy_gainhgh[layer] += cell->energy();
break;
123 case 1: cell_sum_energy_gainmed[layer] += cell->energy();
break;
124 case 2: cell_sum_energy_gainlow[layer] += cell->energy();
break;
131 Es0LowGain(*eg) = cell_sum_energy_gainlow[0];
132 Es0MedGain(*eg) = cell_sum_energy_gainmed[0];
133 Es0HighGain(*eg) = cell_sum_energy_gainhgh[0];
135 Es1LowGain(*eg) = cell_sum_energy_gainlow[1];
136 Es1MedGain(*eg) = cell_sum_energy_gainmed[1];
137 Es1HighGain(*eg) = cell_sum_energy_gainhgh[1];
139 Es2LowGain(*eg) = cell_sum_energy_gainlow[2];
140 Es2MedGain(*eg) = cell_sum_energy_gainmed[2];
141 Es2HighGain(*eg) = cell_sum_energy_gainhgh[2];
143 Es3LowGain(*eg) = cell_sum_energy_gainlow[3];
144 Es3MedGain(*eg) = cell_sum_energy_gainmed[3];
145 Es3HighGain(*eg) = cell_sum_energy_gainhgh[3];