50 std::vector<metsig::SigInputObj>
55 std::vector<metsig::SigInputObj> signInputVec;
57 for( ; towerCand != towers->
end(); towerCand++ ) {
58 const Candidate *candidate = &(*towerCand);
62 double sign_tower_et = calotower->
et();
63 if(sign_tower_et<globalThreshold)
66 double sign_tower_phi = calotower->
phi();
67 double sign_tower_sigma_et = 0;
68 double sign_tower_sigma_phi = 0;
71 bool hadIsDone =
false;
72 bool emIsDone =
false;
75 while ( --cell >= 0 && (!hadIsDone || !emIsDone) )
82 sign_tower_type =
"hadcalotower";
83 sign_tower_et = calotower->
hadEt();
88 sign_tower_type =
"hadcalotower";
89 sign_tower_et = calotower->
outerEt();
94 sign_tower_type =
"hadcalotower";
95 sign_tower_et = calotower->
hadEt();
100 sign_tower_type =
"hadcalotower";
101 sign_tower_et = calotower->
et();
106 edm::LogWarning(
"SignCaloSpecificAlgo") <<
" HCAL tower cell not assigned to an HCAL subdetector!!!" << std::endl;
109 metsig::SigInputObj temp(sign_tower_type,sign_tower_et,sign_tower_phi,sign_tower_sigma_et,sign_tower_sigma_phi);
111 signInputVec.push_back(temp);
121 sign_tower_type =
"emcalotower";
122 sign_tower_et = calotower->
emEt();
127 sign_tower_type =
"emcalotower";
128 sign_tower_et = calotower->
emEt();
134 edm::LogWarning(
"SignCaloSpecificAlgo") <<
" ECAL tower cell not assigned to an ECAL subdetector!!!" << std::endl;
136 metsig::SigInputObj temp(sign_tower_type,sign_tower_et,sign_tower_phi,sign_tower_sigma_et,sign_tower_sigma_phi);
137 signInputVec.push_back(temp);
143 edm::LogWarning(
"SignCaloSpecificAlgo") <<
"found non-assigned cell, " << std::endl;
166 double sign_calo_met_total=0;
167 double sign_calo_met_phi=0;
168 double sign_calo_met_set=0;
176 signInputVec.clear();
const void addObjects(const std::vector< metsig::SigInputObj > &EventVec)
boost::indirect_iterator< typename seq_t::const_iterator > const_iterator
std::vector< metsig::SigInputObj > makeVectorOutOfCaloTowers(edm::Handle< edm::View< reco::Candidate > > towers, const metsig::SignAlgoResolutions &resolutions, bool noHF, double globalthreshold)
size_t constituentsSize() const
HcalSubdetector subdet() const
get the subdetector
DetId constituent(size_t i) const
const double significance(double &met_r, double &met_phi, double &met_set)
void usePreviousSignif(const std::vector< double > &values)
virtual float phi() const GCC11_FINAL
momentum azimuthal angle
void calculateBaseCaloMET(edm::Handle< edm::View< reco::Candidate > > towers, CommonMETData met, const metsig::SignAlgoResolutions &resolutions, bool noHF, double globalthreshold)
TMatrixD getSignifMatrix() const
Structure containing data common to all types of MET.
const void addSignifMatrix(const TMatrixD &input)
virtual float eta() const GCC11_FINAL
momentum pseudorapidity
double et(double vtxZ) const
const_iterator end() const