56 produces<CastorClusterCollection>();
75 using namespace TMath;
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);
virtual double energy() const =0
energy
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
static std::vector< std::string > checklist log
#define DEFINE_FWK_MODULE(type)
void produce(edm::Event &, const edm::EventSetup &) override
CastorFastClusterProducer(const edm::ParameterSet &)
~CastorFastClusterProducer() override
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]
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
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