53 std::vector<metsig::SigInputObj> signInputVec;
55 for( ; towerCand != towers->
end(); towerCand++ ) {
56 const Candidate *candidate = &(*towerCand);
60 double sign_tower_et = calotower->
et();
64 double sign_tower_phi = calotower->
phi();
65 double sign_tower_sigma_et = 0;
66 double sign_tower_sigma_phi = 0;
69 bool hadIsDone =
false;
70 bool emIsDone =
false;
73 while ( --cell >= 0 && (!hadIsDone || !emIsDone) )
80 sign_tower_type =
"hadcalotower";
81 sign_tower_et = calotower->
hadEt();
86 sign_tower_type =
"hadcalotower";
87 sign_tower_et = calotower->
outerEt();
92 sign_tower_type =
"hadcalotower";
93 sign_tower_et = calotower->
hadEt();
98 sign_tower_type =
"hadcalotower";
99 sign_tower_et = calotower->
et();
104 edm::LogWarning(
"SignCaloSpecificAlgo") <<
" HCAL tower cell not assigned to an HCAL subdetector!!!" << std::endl;
107 metsig::SigInputObj temp(sign_tower_type,sign_tower_et,sign_tower_phi,sign_tower_sigma_et,sign_tower_sigma_phi);
109 signInputVec.push_back(
temp);
119 sign_tower_type =
"emcalotower";
120 sign_tower_et = calotower->
emEt();
125 sign_tower_type =
"emcalotower";
126 sign_tower_et = calotower->
emEt();
132 edm::LogWarning(
"SignCaloSpecificAlgo") <<
" ECAL tower cell not assigned to an ECAL subdetector!!!" << std::endl;
134 metsig::SigInputObj temp(sign_tower_type,sign_tower_et,sign_tower_phi,sign_tower_sigma_et,sign_tower_sigma_phi);
135 signInputVec.push_back(
temp);
141 edm::LogWarning(
"SignCaloSpecificAlgo") <<
"found non-assigned cell, " << std::endl;
size_t constituentsSize() const
HcalSubdetector subdet() const
get the subdetector
DetId constituent(size_t i) const
double eval(const resolutionType &type, const resolutionFunc &func, const double &et, const double &phi, const double &eta, const double &p) const
virtual double eta() const
momentum pseudorapidity
const_iterator begin() const
boost::indirect_iterator< typename seq_t::const_iterator > const_iterator
double et(double vtxZ) const
const_iterator end() const
virtual double phi() const
momentum azimuthal angle