23 #include <CLHEP/Vector/LorentzVector.h>
67 for (collection::const_iterator ele = (*inputHandle).begin(); ele != (*inputHandle).end(); ++ele) {
69 DetId maxHitId =
findMaxHit((*ele).superCluster()->hitsAndFractions(), EBHitsColl, EEHitsColl);
71 if (maxHitId.
null()) {
82 std::vector<DetId> m5x5aroundMax = topology->
getWindow(maxHitId, WindowSize, WindowSize);
83 E5x5 =
EnergyNxN(m5x5aroundMax, EBHitsColl, EEHitsColl);
85 std::vector<DetId> m3x3aroundMax = topology->
getWindow(maxHitId, WindowSize, WindowSize);
86 E3x3 =
EnergyNxN(m3x3aroundMax, EBHitsColl, EEHitsColl);
88 double pin = ele->trackMomentumAtVtx().R();
89 double piMpoOpi = (pin - ele->trackMomentumOut().R()) / pin;
90 double E5x5OPout = E5x5 / ele->trackMomentumOut().R();
91 double E3x3OPin = E3x3 / pin;
92 double E3x3OE5x5 = E3x3 / E5x5;
93 double EseedOPout = ele->eSeedClusterOverPout();
94 double EoPin = ele->eSuperClusterOverP();
117 double currEnergy = 0.;
122 itrechit = EBhits->
find((*idsIt).first);
123 if (itrechit == EBhits->
end()) {
124 edm::LogInfo(
"reading") <<
"[findMaxHit] rechit not found! ";
128 if (itrechit->energy() > currEnergy) {
129 currEnergy = itrechit->energy();
134 itrechit = EEhits->
find((*idsIt).first);
135 if (itrechit == EEhits->
end()) {
136 edm::LogInfo(
"reading") <<
"[findMaxHit] rechit not found! ";
140 if (itrechit->energy() > currEnergy) {
141 currEnergy = itrechit->energy();
154 int window_size = vNxN.size();
155 for (
int ixtal = 0; ixtal < window_size; ixtal++) {
158 it_rechit = EBhits->
find(vNxN[ixtal]);
159 dummy += it_rechit->energy();
162 it_rechit = EEhits->
find(vNxN[ixtal]);
163 dummy += it_rechit->energy();