Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:25:05

0001 #include "RecoEgamma/EgammaTools/interface/LongDeps.h"
0002 
0003 using namespace hgcal;
0004 
0005 LongDeps::LongDeps(float radius,
0006                    const std::vector<float>& energyPerLayer,
0007                    float energyEE,
0008                    float energyFH,
0009                    float energyBH,
0010                    const std::set<int>& layers)
0011     : energyPerLayer_(energyPerLayer),
0012       radius_(radius),
0013       energyEE_(energyEE),
0014       energyFH_(energyFH),
0015       energyBH_(energyBH),
0016       layers_(layers) {
0017   lay_Efrac10_ = 0;
0018   lay_Efrac90_ = 0;
0019   float lay_energy = 0;
0020   float e4 = 0.;
0021   // NB: energyPerLayer_ is 1-indexed
0022   for (unsigned lay = 1; lay < energyPerLayer_.size(); ++lay) {
0023     lay_energy += energyPerLayer_[lay];
0024     if (lay < 5)
0025       e4 += energyPerLayer_[lay];
0026     if (lay_Efrac10_ == 0 && lay_energy > 0.1 * energyEE_) {
0027       lay_Efrac10_ = lay;
0028     }
0029     if (lay_Efrac90_ == 0 && lay_energy > 0.9 * energyEE_) {
0030       lay_Efrac90_ = lay;
0031     }
0032   }
0033   float etot = energyEE_ + energyFH_ + energyBH_;
0034   e4oEtot_ = (etot > 0.) ? e4 / etot : -1.;
0035 }