59 produces<CastorClusterCollection>();
86 using namespace TMath;
95 iEvent.
getByLabel(
"genParticles", genParticles);
139 for (
size_t i = 0;
i < genParticles->size(); ++
i) {
143 if ( fabs(p.
eta()) > 5.2 && fabs(p.
eta()) < 6.6) {
149 double emEnergy = 0.;
150 double hadEnergy = 0.;
157 while ( gaus_E < 0.) {
162 gaus_E = r.Gaus(p.
energy(),sigma);
169 if ( p.
pdgId() == 11) { cte = -0.5; }
else { cte = 0.5; }
170 tmax = 1.0*(
log(gaus_E/0.0015)+cte);
173 double x = 0.5*19.38;
174 leakage = gaus_E - gaus_E*
Gamma(a,x);
177 emEnergy = gaus_E - leakage;
191 while (gaus_E < 0.) {
196 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.
#define DEFINE_FWK_MODULE(type)
virtual void produce(edm::Event &, const edm::EventSetup &) override
virtual double energy() const =0
energy
virtual int pdgId() const =0
PDG identifier.
CastorFastClusterProducer(const edm::ParameterSet &)
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
void push_back(value_type const &ref)
Add a Ref<C, T> to the RefVector.
~CastorFastClusterProducer()
ROOT::Math::RhoEtaPhiPoint ClusterPoint
virtual double phi() const =0
momentum azimuthal angle
Power< A, B >::type pow(const A &a, const B &b)