28 return StatusCode::SUCCESS;
84 return StatusCode::SUCCESS;
90 return StatusCode::SUCCESS;
94 nPFOs = chpfos->
size() + nupfos->
size();
95 nChPFOs = chpfos->
size();
96 nNuPFOs = nupfos->
size();
98 fill(
"PFOMonitorAllPFOs",nPFOs);
99 fill(
"PFOMonitorChargedPFOs",nChPFOs);
100 fill(
"PFOMonitorNeutralPFOs",nNuPFOs);
122 for (
const auto& pfo : *chpfos) {
132 float expectedEnergy = -1.0;
135 if(acc_IsInDenseEnvironment.
isAvailable(*pfo)) {denseEnv = acc_IsInDenseEnvironment(*pfo);}
136 else {
ATH_MSG_DEBUG(
"This charged PFO did not have IsInDenseEnvironment set");}
138 if(acc_tracksExpectedEnergyDeposit.
isAvailable(*pfo)) {expectedEnergy = acc_tracksExpectedEnergyDeposit(*pfo);}
139 else {
ATH_MSG_DEBUG(
"This charged PFO did not have TracksExpectedEnergyDeposit set");}
141 ChpT = pfo->pt()/
GeV;
144 Chmass= pfo->m()/
GeV;
146 Chy = pfo->rapidity();
147 ChDenseEnv = denseEnv;
148 ChExpE= expectedEnergy;
152 DenseEnvFlag = denseEnv;
153 fill(
"PFOMonitorChargedPFOs",ChpT,Cheta,Chphi,Chmass,ChE,Chy,ChDenseEnv,ChExpE,DenseEnvFlag);
157 for (
const auto& pfo : *nupfos) {
161 if (0 ==
E)
continue;
168 NupT = pfo->pt()/
GeV;
171 Numass= pfo->m()/
GeV;
173 Nuy = pfo->rapidity();
175 if (acc_ISOLATION.
isAvailable(*pfo)) {NuIso = acc_ISOLATION(*pfo);}
176 else {
ATH_MSG_DEBUG(
"This neutral PFO did not have ISOLATION set");}
178 if (acc_ENG_POS.
isAvailable(*pfo)) {NuEPos= acc_ENG_POS(*pfo);}
179 else {
ATH_MSG_DEBUG(
"This neutral PFO did not have ENG_POS set");}
181 if (acc_N_BAD_CELLS.
isAvailable(*pfo)) {NuNBadCells = acc_N_BAD_CELLS(*pfo);}
182 else {
ATH_MSG_DEBUG(
"This neutral PFO did not have N_BAD_CELLS set");}
184 if (acc_ENG_BAD_CELLS.
isAvailable(*pfo)) {NuEBadCells = acc_ENG_BAD_CELLS(*pfo);}
185 else {
ATH_MSG_DEBUG(
"This neutral PFO did not have ENG_BAD_CELLS set");}
187 if (acc_AVG_LAR_Q.
isAvailable(*pfo)) {NuAvgLarQ = acc_AVG_LAR_Q(*pfo);}
188 else {
ATH_MSG_DEBUG(
"This neutral PFO did not have AVG_LAR_Q set");}
190 if (acc_AVG_TILE_Q.
isAvailable(*pfo)) {NuAvgTileQ = acc_AVG_TILE_Q(*pfo);}
191 else {
ATH_MSG_DEBUG(
"This neutral PFO did not have AVG_TILE_Q set");}
193 if (acc_SECOND_R.
isAvailable(*pfo)) {NuSecondR = acc_SECOND_R(*pfo);}
194 else {
ATH_MSG_DEBUG(
"This neutral PFO did not have SECOND_R set");}
196 if (acc_SECOND_LAMBDA.
isAvailable(*pfo)) {NuSecondLambda = acc_SECOND_LAMBDA(*pfo);}
197 else {
ATH_MSG_DEBUG(
"This neutral PFO did not have SECOND_LAMBDA set");}
199 if (acc_CENTER_LAMBDA.
isAvailable(*pfo)) {NuCenterLambda = acc_CENTER_LAMBDA(*pfo);}
200 else {
ATH_MSG_DEBUG(
"This neutral PFO did not have CENTER_LAMBDA set");}
202 if (acc_BADLARQ_FRAC.
isAvailable(*pfo)) {NuBadLarQFrac = acc_BADLARQ_FRAC(*pfo);}
203 else {
ATH_MSG_DEBUG(
"This neutral PFO did not have BAD_LARQ_FRAC set");}
205 if (acc_EM_PROBABILITY.
isAvailable(*pfo)) {NuEMProb = acc_EM_PROBABILITY(*pfo);}
206 else {
ATH_MSG_DEBUG(
"This neutral PFO did not have BAD_LARQ_FRAC set");}
217 fill(
"PFOMonitorNeutralPFOs",NupT,Nueta,Nuphi,Numass,NuE,Nuy,NuIso,NuEPos,NuNBadC,NuEBadCells,NuAvgLarQ,NuSecondR,NuCenterLambda,NuSecondLambda,NuBadLarQFrac,NuEMProb);
220 return StatusCode::SUCCESS;