46 PreshowerClusterShapeCollectionX_ = ps.
getParameter<
string>(
"PreshowerClusterShapeCollectionX");
47 PreshowerClusterShapeCollectionY_ = ps.
getParameter<
string>(
"PreshowerClusterShapeCollectionY");
49 produces< reco::PreshowerClusterShapeCollection >(PreshowerClusterShapeCollectionX_);
50 produces< reco::PreshowerClusterShapeCollection >(PreshowerClusterShapeCollectionY_);
52 float preshStripECut = ps.
getParameter<
double>(
"preshStripEnergyCut");
55 string debugString = ps.
getParameter<
string>(
"debugLevel");
58 string tmpPath = ps.
getUntrackedParameter<
string>(
"pathToWeightFiles",
"RecoEcal/EgammaClusterProducers/data/");
62 LogTrace(
"EcalClusters") <<
"PreshowerClusterShapeProducer:presh_pi0_algo class instantiated " ;
71 delete presh_pi0_algo;
79 LogTrace(
"EcalClusters") <<
"\n ....... Event " << evt.
id() <<
" with Number = " << nEvt_+1 <<
" is analyzing ....... " ;
99 topology_p =
new EcalPreshowerTopology(geoHandle);
107 LogTrace(
"EcalClusters") <<
"PreshowerClusterShapeProducer: ### Total # of preshower RecHits: " << rechits->
size() ;
112 map<DetId, EcalRecHit> rechits_map;
114 for (it = rechits->
begin(); it != rechits->
end(); it++) {
115 rechits_map.insert(make_pair(it->id(), *it));
118 LogTrace(
"EcalClusters") <<
"PreshowerClusterShapeProducer: ### Preshower RecHits_map of size " << rechits_map.size() <<
" was created!" ;
129 evt.
getByLabel(endcapSClusterProducer_, pSuperClusters);
131 LogTrace(
"EcalClusters") <<
"### Total # Endcap Superclusters: " << SClusts->size() ;
133 SuperClusterCollection::const_iterator it_s;
134 for ( it_s=SClusts->begin(); it_s!=SClusts->end(); it_s++ ) {
138 float SC_Et = it_super->energy()*
sin(2*atan(
exp(-it_super->eta())));
139 float SC_eta = it_super->eta();
140 float SC_phi = it_super->phi();
142 LogTrace(
"EcalClusters") <<
"PreshowerClusterShapeProducer: superCl_E = " << it_super->energy() <<
" superCl_Et = " << SC_Et <<
" superCl_Eta = " << SC_eta <<
" superCl_Phi = " << SC_phi ;
145 if(fabs(SC_eta) >= 1.65 && fabs(SC_eta) <= 2.5)
149 const GlobalPoint pointSC(it_super->x(),it_super->y(),it_super->z());
150 LogTrace(
"EcalClusters") <<
"SC centroind = " << pointSC ;
159 vector<float> vout_stripE1 = presh_pi0_algo->findPreshVector(stripX, &rechits_map, topology_p);
160 vector<float> vout_stripE2 = presh_pi0_algo->findPreshVector(stripY, &rechits_map, topology_p);
162 LogTrace(
"EcalClusters") <<
"PreshowerClusterShapeProducer : ES Energy vector associated to the given SC = " ;
163 for(
int k1=0;k1<11;k1++) {
164 LogTrace(
"EcalClusters") << vout_stripE1[k1] <<
" " ;
167 for(
int k1=0;k1<11;k1++) {
168 LogTrace(
"EcalClusters") << vout_stripE2[k1] <<
" " ;
173 ps_cl_x.push_back(ps1);
177 ps_cl_y.push_back(ps2);
184 ps_cl_for_pi0_disc_x->assign(ps_cl_x.begin(), ps_cl_x.end());
185 ps_cl_for_pi0_disc_y->assign(ps_cl_y.begin(), ps_cl_y.end());
187 evt.
put(ps_cl_for_pi0_disc_x, PreshowerClusterShapeCollectionX_);
188 evt.
put(ps_cl_for_pi0_disc_y, PreshowerClusterShapeCollectionY_);
189 LogTrace(
"EcalClusters") <<
"PreshowerClusterShapeCollection added to the event" ;
196 LogDebug(
"PiZeroDiscriminatorDebug") << ostr.str();
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
void setSCRef(const SuperClusterRef &r)
Sin< T >::type sin(const T &t)
std::vector< EcalRecHit >::const_iterator const_iterator
~PreshowerClusterShapeProducer()
std::vector< SuperCluster > SuperClusterCollection
collection of SuperCluser objectr
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
std::vector< PreshowerClusterShape > PreshowerClusterShapeCollection
collection of PreshowerClusterShape objects
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
const_iterator end() const
T const * product() const
ESHandle< TrackerGeometry > geometry
virtual void produce(edm::Event &evt, const edm::EventSetup &es)
PreshowerClusterShapeProducer(const edm::ParameterSet &ps)
const_iterator begin() const