56 produces<CastorClusterCollection>();
75 using namespace TMath;
84 iEvent.
getByLabel(
"genParticles", genParticles);
128 for (
size_t i = 0;
i < genParticles->size(); ++
i) {
132 if (fabs(p.
eta()) > 5.2 && fabs(p.
eta()) < 6.6) {
137 double emEnergy = 0.;
138 double hadEnergy = 0.;
144 while (gaus_E < 0.) {
149 gaus_E = r.Gaus(p.
energy(), sigma);
156 if (p.
pdgId() == 11) {
161 tmax = 1.0 * (
log(gaus_E / 0.0015) + cte);
164 double x = 0.5 * 19.38;
165 leakage = gaus_E - gaus_E * Gamma(a, x);
168 emEnergy = gaus_E - leakage;
185 reco::CastorCluster(gaus_E, pt2, emEnergy, hadEnergy, emEnergy / gaus_E, 0., 0., 0., 0., refvector));
188 while (gaus_E < 0.) {
193 gaus_E = r.Gaus(p.
energy(), sigma);
351 double mu_noise = 0.053;
352 double sigma_noise = 0.027;
354 while (result < 0.) {
355 result = r2.Gaus(mu_noise, sigma_noise);
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
void produce(edm::Event &, const edm::EventSetup &) override
virtual double energy() const =0
energy
#define DEFINE_FWK_MODULE(type)
virtual int pdgId() const =0
PDG identifier.
CastorFastClusterProducer(const edm::ParameterSet &)
~CastorFastClusterProducer() override
std::vector< reco::CastorCluster > CastorClusterCollection
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
static const double tmax[3]
virtual double eta() const =0
momentum pseudorapidity
Structure Point Contains parameters of Gaussian fits to DMRs.
void push_back(value_type const &ref)
Add a Ref<C, T> to the RefVector.
ROOT::Math::RhoEtaPhiPoint ClusterPoint
virtual double phi() const =0
momentum azimuthal angle
Power< A, B >::type pow(const A &a, const B &b)