Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

change "double" to "float" in DataFormats/METReco #3529

Merged
merged 9 commits into from Apr 30, 2014
82 changes: 49 additions & 33 deletions DataFormats/METReco/interface/SpecificCaloMETData.h
@@ -1,38 +1,54 @@
#ifndef METReco_SpecificCaloMETData_h
#define METReco_SpecificCaloMETData_h
// -*- C++ -*-

// Package: METReco
// Class: SpecificCaloMETData
//
/** \class SpecificCaloMETData
*
* \short MET made from CaloTowers
*
* SpecificCaloMETData represents MET made from CaloTowers
* Provide energy contributions from different subdetectors
* in addition to generic MET parameters
*
* \author R. Cavanaugh, UFL
*
************************************************************/

SpecificCaloMETData represents MET made from CaloTowers Provide
energy contributions from different subdetectors in addition to
generic MET parameters

*/
//
// Authors: R. Cavanaugh, UFL
//

//____________________________________________________________________________||
#ifndef METReco_SpecificCaloMETData_h
#define METReco_SpecificCaloMETData_h

//____________________________________________________________________________||
struct SpecificCaloMETData
{
double MaxEtInEmTowers; // Maximum ET in EM towers
double MaxEtInHadTowers; // Maximum ET in HCAL towers
double HadEtInHO; // Hadronic ET fraction in HO
double HadEtInHB; // Hadronic ET in HB
double HadEtInHF; // Hadronic ET in HF
double HadEtInHE; // Hadronic ET in HE
double EmEtInEB; // Em ET in EB
double EmEtInEE; // Em ET in EE
double EmEtInHF; // Em ET in HF
double EtFractionHadronic; // Hadronic ET fraction
double EtFractionEm; // Em ET fraction
double METSignificance; // Em ET fraction
double CaloMETInpHF; // CaloMET in HF+
double CaloMETInmHF; // CaloMET in HF-
double CaloSETInpHF; // CaloSET in HF+
double CaloSETInmHF; // CaloSET in HF-
double CaloMETPhiInpHF; // CaloMET-phi in HF+
double CaloMETPhiInmHF; // CaloMET-phi in HF-

}; //public : struct SpecificCaloMETData
#endif
SpecificCaloMETData()
: MaxEtInEmTowers(0.0), MaxEtInHadTowers(0.0)
, HadEtInHO(0.0), HadEtInHB(0.0), HadEtInHF(0.0), HadEtInHE(0.0)
, EmEtInEB(0.0), EmEtInEE(0.0), EmEtInHF(0.0), EtFractionHadronic(0.0)
, EtFractionEm(0.0), METSignificance(0.0), CaloMETInpHF(0.0)
, CaloMETInmHF(0.0), CaloSETInpHF(0.0), CaloSETInmHF(0.0)
, CaloMETPhiInpHF(0.0), CaloMETPhiInmHF(0.0) { }

float MaxEtInEmTowers; // Maximum ET in EM towers
float MaxEtInHadTowers; // Maximum ET in HCAL towers
float HadEtInHO; // Hadronic ET fraction in HO
float HadEtInHB; // Hadronic ET in HB
float HadEtInHF; // Hadronic ET in HF
float HadEtInHE; // Hadronic ET in HE
float EmEtInEB; // Em ET in EB
float EmEtInEE; // Em ET in EE
float EmEtInHF; // Em ET in HF
float EtFractionHadronic; // Hadronic ET fraction
float EtFractionEm; // Em ET fraction
float METSignificance; // Em ET fraction
float CaloMETInpHF; // CaloMET in HF+
float CaloMETInmHF; // CaloMET in HF-
float CaloSETInpHF; // CaloSET in HF+
float CaloSETInmHF; // CaloSET in HF-
float CaloMETPhiInpHF; // CaloMET-phi in HF+
float CaloMETPhiInmHF; // CaloMET-phi in HF-

};

//____________________________________________________________________________||
#endif // METReco_SpecificCaloMETData_h
66 changes: 35 additions & 31 deletions DataFormats/METReco/interface/SpecificGenMETData.h
@@ -1,41 +1,45 @@
#ifndef METReco_SpecificGenMETData_h
#define METReco_SpecificGenMETData_h
// -*- C++ -*-

// Package: METReco
// Class: SpecificGenMETData
//
/** \class SpecificGenMETData
*
* \short MET made from CaloTowers
*
* SpecificGenMETData represents MET made from HEPMC particles
* Provide energy contributions from different particles
* in addition to generic MET parameters
*
* \author R. Cavanaugh, UFL
*
*
************************************************************/

/*
Revision: Sept. 29, 2009
Author : Ronald Remington
Notes: Changed names of data members to align with those in PFMET. Should be integrated in CMSSW_3_4_X.

SpecificGenMETData represents MET made from HEPMC particles
Provide energy contributions from different particles in addition
to generic MET parameters

*/
// Authors: Richard Cavanaugh, Ronald Remington
//


//____________________________________________________________________________||
#ifndef METReco_SpecificGenMETData_h
#define METReco_SpecificGenMETData_h

//____________________________________________________________________________||
struct SpecificGenMETData
{
double NeutralEMEtFraction ;
double NeutralHadEtFraction ;
double ChargedEMEtFraction ;
double ChargedHadEtFraction ;
double MuonEtFraction ;
double InvisibleEtFraction ;

//Old, obsolete datamembers (to be removed as soon as possible e.g 4_X_Y)
double m_EmEnergy; // Event energy from EM particles
double m_HadEnergy; // Event energy from Hadronic particles
double m_InvisibleEnergy; // Event energy from neutrinos, etc
double m_AuxiliaryEnergy; // Event energy from undecayed particles
SpecificGenMETData()
: NeutralEMEtFraction(0.0), NeutralHadEtFraction(0.0)
, ChargedEMEtFraction(0.0), ChargedHadEtFraction(0.0)
, MuonEtFraction(0.0), InvisibleEtFraction(0.0) { }

float NeutralEMEtFraction;
float NeutralHadEtFraction;
float ChargedEMEtFraction;
float ChargedHadEtFraction;
float MuonEtFraction;
float InvisibleEtFraction;

//Old, obsolete datamembers (to be removed as soon as possible e.g 4_X_Y)
float m_EmEnergy; // Event energy from EM particles
float m_HadEnergy; // Event energy from Hadronic particles
float m_InvisibleEnergy; // Event energy from neutrinos, etc
float m_AuxiliaryEnergy; // Event energy from undecayed particles
};

}; //public : struct SpecificGenMETData
#endif
//____________________________________________________________________________||
#endif // METReco_SpecificGenMETData_h
28 changes: 14 additions & 14 deletions DataFormats/METReco/interface/SpecificPFMETData.h
Expand Up @@ -17,21 +17,21 @@ struct SpecificPFMETData
, Type6Fraction(0.0), Type7Fraction(0.0) { }

// Data Members (should be renamed with "Et" in them to avoid ambiguities, see below)
double NeutralEMFraction;
double NeutralHadFraction;
double ChargedEMFraction;
double ChargedHadFraction;
double MuonFraction;
double Type6Fraction;
double Type7Fraction;
float NeutralEMFraction;
float NeutralHadFraction;
float ChargedEMFraction;
float ChargedHadFraction;
float MuonFraction;
float Type6Fraction;
float Type7Fraction;

// double NeutralEMEtFraction;
// double NeutralHadEtFraction;
// double ChargedEMEtFraction;
// double ChargedHadEtFraction;
// double MuonEtFraction;
// double Type6EtFraction;
// double Type7EtFraction;
// float NeutralEMEtFraction;
// float NeutralHadEtFraction;
// float ChargedEMEtFraction;
// float ChargedHadEtFraction;
// float MuonEtFraction;
// float Type6EtFraction;
// float Type7EtFraction;

};

Expand Down
9 changes: 6 additions & 3 deletions DataFormats/METReco/src/classes_def.xml
Expand Up @@ -38,17 +38,20 @@
<class name="reco::MVAMEtPFCandInfoCollection" />
<class name="edm::Wrapper<reco::MVAMEtPFCandInfoCollection>" />

<class name="SpecificCaloMETData" ClassVersion="10">
<class name="SpecificCaloMETData" ClassVersion="11">
<version ClassVersion="10" checksum="3022746385"/>
<version ClassVersion="11" checksum="747083523"/>
</class>
<class name="std::vector<SpecificCaloMETData> "/>

<class name="SpecificPFMETData" ClassVersion="10">
<class name="SpecificPFMETData" ClassVersion="11">
<version ClassVersion="10" checksum="219431109"/>
<version ClassVersion="11" checksum="1851051058"/>
</class>
<class name="std::vector<SpecificPFMETData> "/>
<class name="SpecificGenMETData" ClassVersion="10">
<class name="SpecificGenMETData" ClassVersion="11">
<version ClassVersion="10" checksum="2173201550"/>
<version ClassVersion="11" checksum="2260055190"/>
</class>

<class name="reco::MET" ClassVersion="10">
Expand Down
7 changes: 3 additions & 4 deletions RecoMET/METAlgorithms/interface/CaloSpecificAlgo.h
Expand Up @@ -43,11 +43,10 @@ class CaloSpecificAlgo
private:
typedef math::XYZTLorentzVector LorentzVector;
typedef math::XYZPoint Point;
void initializeSpecificCaloMETData(SpecificCaloMETData &specific);
void update_totalEt_totalEm(double &totalEt, double& totalEm, const CaloTower* calotower, bool noHF);
void update_MaxTowerEm_MaxTowerHad(double &MaxTowerEm, double &MaxTowerHad, const CaloTower* calotower, bool noHF);
void update_EmEtInEB_EmEtInEE(double &EmEtInEB, double &EmEtInEE, const CaloTower* calotower);
void update_HadEtInHB_HadEtInHE_HadEtInHO_HadEtInHF_EmEtInHF(double &HadEtInHB, double &HadEtInHE, double &HadEtInHO, double &HadEtInHF, double &EmEtInHF, const CaloTower* calotower, bool noHF);
void update_MaxTowerEm_MaxTowerHad(float &MaxTowerEm, float &MaxTowerHad, const CaloTower* calotower, bool noHF);
void update_EmEtInEB_EmEtInEE(float &EmEtInEB, float &EmEtInEE, const CaloTower* calotower);
void update_HadEtInHB_HadEtInHE_HadEtInHO_HadEtInHF_EmEtInHF(float &HadEtInHB, float &HadEtInHE, float &HadEtInHO, float &HadEtInHF, float &EmEtInHF, const CaloTower* calotower, bool noHF);
void update_sumEtInpHF_MExInpHF_MEyInpHF_sumEtInmHF_MExInmHF_MEyInmHF(double &sumEtInpHF, double &MExInpHF, double &MEyInpHF, double &sumEtInmHF, double &MExInmHF, double &MEyInmHF, const CaloTower* calotower);
void remove_HF_from_MET(CommonMETData &met, double sumEtInpHF, double MExInpHF, double MEyInpHF, double sumEtInmHF, double MExInmHF, double MEyInmHF);
void add_MET_in_HF(SpecificCaloMETData &specific, double sumEtInpHF, double MExInpHF, double MEyInpHF, double sumEtInmHF, double MExInmHF, double MEyInmHF);
Expand Down
30 changes: 3 additions & 27 deletions RecoMET/METAlgorithms/src/CaloSpecificAlgo.cc
Expand Up @@ -26,7 +26,6 @@ using namespace reco;
reco::CaloMET CaloSpecificAlgo::addInfo(edm::Handle<edm::View<Candidate> > towers, const CommonMETData& umet, bool noHF, double globalThreshold)
{
SpecificCaloMETData specific;
initializeSpecificCaloMETData(specific);
CommonMETData met = umet;
double totalEt = 0.0;
double totalEm = 0.0;
Expand Down Expand Up @@ -65,29 +64,6 @@ reco::CaloMET CaloSpecificAlgo::addInfo(edm::Handle<edm::View<Candidate> > tower
return caloMET;
}

//____________________________________________________________________________||
void CaloSpecificAlgo::initializeSpecificCaloMETData(SpecificCaloMETData &specific)
{
specific.MaxEtInEmTowers = 0.0; // Maximum energy in EM towers
specific.MaxEtInHadTowers = 0.0; // Maximum energy in HCAL towers
specific.HadEtInHO = 0.0; // Hadronic energy fraction in HO
specific.HadEtInHB = 0.0; // Hadronic energy in HB
specific.HadEtInHF = 0.0; // Hadronic energy in HF
specific.HadEtInHE = 0.0; // Hadronic energy in HE
specific.EmEtInEB = 0.0; // Em energy in EB
specific.EmEtInEE = 0.0; // Em energy in EE
specific.EmEtInHF = 0.0; // Em energy in HF
specific.EtFractionHadronic = 0.0; // Hadronic energy fraction
specific.EtFractionEm = 0.0; // Em energy fraction
specific.METSignificance = 0.0;
specific.CaloMETInpHF = 0.0; // CaloMET in HF+
specific.CaloMETInmHF = 0.0; // CaloMET in HF-
specific.CaloSETInpHF = 0.0; // CaloSET in HF+
specific.CaloSETInmHF = 0.0; // CaloSET in HF-
specific.CaloMETPhiInpHF = 0.0; // CaloMET-phi in HF+
specific.CaloMETPhiInmHF = 0.0; // CaloMET-phi in HF-
}

//____________________________________________________________________________||
void CaloSpecificAlgo::update_totalEt_totalEm(double &totalEt, double& totalEm, const CaloTower* calotower, bool noHF)
{
Expand All @@ -106,7 +82,7 @@ void CaloSpecificAlgo::update_totalEt_totalEm(double &totalEt, double& totalEm,
}

//____________________________________________________________________________||
void CaloSpecificAlgo::update_MaxTowerEm_MaxTowerHad(double &MaxTowerEm, double &MaxTowerHad, const CaloTower* calotower, bool noHF)
void CaloSpecificAlgo::update_MaxTowerEm_MaxTowerHad(float &MaxTowerEm, float &MaxTowerHad, const CaloTower* calotower, bool noHF)
{
DetId detIdHcal = find_DetId_of_HCAL_cell_in_constituent_of(calotower);
DetId detIdEcal = find_DetId_of_ECAL_cell_in_constituent_of(calotower);
Expand All @@ -129,7 +105,7 @@ void CaloSpecificAlgo::update_MaxTowerEm_MaxTowerHad(double &MaxTowerEm, double
}

//____________________________________________________________________________||
void CaloSpecificAlgo::update_EmEtInEB_EmEtInEE(double &EmEtInEB, double &EmEtInEE, const CaloTower* calotower)
void CaloSpecificAlgo::update_EmEtInEB_EmEtInEE(float &EmEtInEB, float &EmEtInEE, const CaloTower* calotower)
{
DetId detIdEcal = find_DetId_of_ECAL_cell_in_constituent_of(calotower);
if(detIdEcal.null()) return;
Expand All @@ -146,7 +122,7 @@ void CaloSpecificAlgo::update_EmEtInEB_EmEtInEE(double &EmEtInEB, double &EmEtIn
}

//____________________________________________________________________________||
void CaloSpecificAlgo::update_HadEtInHB_HadEtInHE_HadEtInHO_HadEtInHF_EmEtInHF(double &HadEtInHB, double &HadEtInHE, double &HadEtInHO, double &HadEtInHF, double &EmEtInHF, const CaloTower* calotower, bool noHF)
void CaloSpecificAlgo::update_HadEtInHB_HadEtInHE_HadEtInHO_HadEtInHF_EmEtInHF(float &HadEtInHB, float &HadEtInHE, float &HadEtInHO, float &HadEtInHF, float &EmEtInHF, const CaloTower* calotower, bool noHF)
{
DetId detIdHcal = find_DetId_of_HCAL_cell_in_constituent_of(calotower);
if(detIdHcal.null()) return;
Expand Down
8 changes: 1 addition & 7 deletions RecoMET/METAlgorithms/src/GenSpecificAlgo.cc
Expand Up @@ -125,13 +125,7 @@ SpecificGenMETData GenSpecificAlgo::mkSpecificGenMETData(edm::Handle<edm::View<r
};
const static std::set<int> invisiblepdgIdSet(invisiblepdgId, invisiblepdgId + sizeof(invisiblepdgId)/sizeof(int));

SpecificGenMETData specific = SpecificGenMETData();
specific.NeutralEMEtFraction = 0.0;
specific.NeutralHadEtFraction = 0.0;
specific.ChargedEMEtFraction = 0.0;
specific.ChargedHadEtFraction = 0.0;
specific.MuonEtFraction = 0.0;
specific.InvisibleEtFraction = 0.0;
SpecificGenMETData specific;
double Et_unclassified = 0.0;

for(edm::View<reco::Candidate>::const_iterator iParticle = (particles.product())->begin(); iParticle != (particles.product())->end(); ++iParticle)
Expand Down