13 bool EcalBaseData::Fill(EcalShowerR *showerPtr) {
15 TotalHits = AMSEventR::Head()->nEcalHit();
16 ShowerHits = showerPtr->Nhits;
23 auto ecalKRec = EcalKXRec::GetHead();
24 EcalKXRec::ProcessAMSEvent(AMSEventR::Head());
27 BDT[
BDTType::v7std] = showerPtr->GetEcalBDT(AMSEventR::Head(), 7, 0, 1);
28 BDT[
BDTType::v7ada] = showerPtr->GetEcalBDT(AMSEventR::Head(), 7, 1, 1);
29 BDT[
BDTType::v5std] = showerPtr->GetEcalBDT(AMSEventR::Head(), 5, 0, 1);
30 BDT[
BDTType::v5ada] = showerPtr->GetEcalBDT(AMSEventR::Head(), 5, 1, 1);
32 m_pointAndDir.emplace_back(showerPtr->CofG[0], showerPtr->CofG[1], showerPtr->CofG[2]);
33 m_pointAndDir.emplace_back(showerPtr->Dir[0], showerPtr->Dir[1], showerPtr->Dir[2]);
40 bool EcalPlusData::Fill(EcalShowerR *showerPtr) {
42 auto ecalKRec = EcalKXRec::GetHead();
43 ecalKRec->GetHadronFlag(EcalKHadronicFlag);
44 ecalKRec->GetNumberOfShowers(EcalKNShowers);
47 std::array<float, 18> energy_total_planes{0};
48 std::array<float, 18> energy_max_planes{0};
50 auto event = AMSEventR::Head();
51 for (
int ihit = 0; ihit <
event->nEcalHit(); ihit++) {
52 energy_total_planes[
event->pEcalHit(ihit)->Plane] +=
event->pEcalHit(ihit)->Edep;
53 energy_max_planes[
event->pEcalHit(ihit)->Plane] =
54 std::max(energy_max_planes[event->pEcalHit(ihit)->Plane],
event->pEcalHit(ihit)->Edep);
57 for (
int ipl = 0; ipl < 18; ipl++) {
58 if (energy_total_planes[ipl] > 0)
59 MaxEnergyFraction[ipl] = energy_max_planes[ipl] / energy_total_planes[ipl];
constexpr unsigned int numLikelihoodTypes
Ecal energy (W. Xu 3D reconstruction)
Ecal energy (2017 reconstruction)
constexpr unsigned int numBDTTypes
Ecal container class description.
Ecal energy (standard reconstruction)
Total deposited energy in Ecal.
constexpr unsigned int numEnergyRecos
Ecal energy (electron hypothesys, Using different methods to recover anode efficiency, rear leakage, lateral leakage and temperature effects)