59 produces<CastorClusterCollection>();
86 using namespace TMath;
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);
344 iEvent.
put(CastorClusters);
351 double mu_noise = 0.053;
352 double sigma_noise = 0.027;
354 while (result < 0.) {
355 result = r2.Gaus(mu_noise,sigma_noise);
virtual double energy() const =0
energy
#define DEFINE_FWK_MODULE(type)
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
CastorFastClusterProducer(const edm::ParameterSet &)
virtual void beginRun(edm::Run &, edm::EventSetup const &)
std::vector< reco::CastorCluster > CastorClusterCollection
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
virtual int pdgId() const =0
PDG identifier.
static const double tmax[3]
Log< T >::type log(const T &t)
virtual void produce(edm::Event &, const edm::EventSetup &)
void push_back(value_type const &ref)
Add a Ref<C, T> to the RefVector.
~CastorFastClusterProducer()
ROOT::Math::RhoEtaPhiPoint ClusterPoint
Power< A, B >::type pow(const A &a, const B &b)
virtual double phi() const =0
momentum azimuthal angle
virtual double eta() const =0
momentum pseudorapidity