49 std::vector<metsig::SigInputObj>
54 std::vector<metsig::SigInputObj> signInputVec;
56 for( ; towerCand != towers->
end(); towerCand++ ) {
57 const Candidate *candidate = &(*towerCand);
61 double sign_tower_et = calotower->
et();
62 if(sign_tower_et<globalThreshold)
65 double sign_tower_phi = calotower->
phi();
66 double sign_tower_sigma_et = 0;
67 double sign_tower_sigma_phi = 0;
70 bool hadIsDone =
false;
71 bool emIsDone =
false;
74 while ( --cell >= 0 && (!hadIsDone || !emIsDone) )
81 sign_tower_type =
"hadcalotower";
82 sign_tower_et = calotower->
hadEt();
87 sign_tower_type =
"hadcalotower";
88 sign_tower_et = calotower->
outerEt();
93 sign_tower_type =
"hadcalotower";
94 sign_tower_et = calotower->
hadEt();
99 sign_tower_type =
"hadcalotower";
100 sign_tower_et = calotower->
et();
105 edm::LogWarning(
"SignCaloSpecificAlgo") <<
" HCAL tower cell not assigned to an HCAL subdetector!!!" << std::endl;
108 metsig::SigInputObj temp(sign_tower_type,sign_tower_et,sign_tower_phi,sign_tower_sigma_et,sign_tower_sigma_phi);
110 signInputVec.push_back(temp);
120 sign_tower_type =
"emcalotower";
121 sign_tower_et = calotower->
emEt();
126 sign_tower_type =
"emcalotower";
127 sign_tower_et = calotower->
emEt();
133 edm::LogWarning(
"SignCaloSpecificAlgo") <<
" ECAL tower cell not assigned to an ECAL subdetector!!!" << std::endl;
135 metsig::SigInputObj temp(sign_tower_type,sign_tower_et,sign_tower_phi,sign_tower_sigma_et,sign_tower_sigma_phi);
136 signInputVec.push_back(temp);
142 edm::LogWarning(
"SignCaloSpecificAlgo") <<
"found non-assigned cell, " << std::endl;
165 double sign_calo_met_total=0;
166 double sign_calo_met_phi=0;
167 double sign_calo_met_set=0;
175 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)
tuple met
____________________________________________________________________________||
size_t constituentsSize() const
HcalSubdetector subdet() const
get the subdetector
DetId constituent(size_t i) const
virtual float phi() const
momentum azimuthal angle
const double significance(double &met_r, double &met_phi, double &met_set)
void usePreviousSignif(const std::vector< double > &values)
virtual float eta() const
momentum pseudorapidity
TMatrixD getSignifMatrix() const
Structure containing data common to all types of MET.
const void addSignifMatrix(const TMatrixD &input)
void calculateBaseCaloMET(edm::Handle< edm::View< reco::Candidate > > towers, const CommonMETData &met, const metsig::SignAlgoResolutions &resolutions, bool noHF, double globalthreshold)
double et(double vtxZ) const
const_iterator end() const