32 #include "Math/Vector3D.h"
92 virtual void endJob()
override ;
134 produces<reco::EvtPlaneCollection>();
136 Int_t FlatOrder = 21;
164 using namespace reco;
172 int bin = *(ch.product());
179 iEvent.
getByLabel(vtxCollection_,vertexCollection3);
181 vs_sell = vertices3->size();
183 vzr_sell = vertices3->begin()->z();
184 vzErr_sell = vertices3->begin()->zError();
192 int flatTableSize = flatparmsDB_->m_table.size();
193 for(
int i = 0;
i<flatTableSize;
i++) {
198 flat[indx]->SetXDB(
i, thisBin->
x[
j]);
199 flat[indx]->SetYDB(
i, thisBin->
y[
j]);
211 if(!evtPlanes.isValid()){
221 for (EvtPlaneCollection::const_iterator rp = evtPlanes->begin();rp !=evtPlanes->end(); rp++) {
222 if(rp->angle() > -5) {
223 string baseName = rp->
label();
226 double psiFlat = flat[
i]->GetFlatPsi(rp->angle(),vzr_sell,
bin);
229 if(storeNames_) ep[
i]=
new EvtPlane(psiFlat, rp->sumSin(), rp->sumCos(),rp->label().data());
230 else ep[
i]=
new EvtPlane(psiFlat, rp->sumSin(), rp->sumCos(),
"");
238 if(ep[
i]!=0) evtplaneOutput->push_back(*ep[
i]);
240 iEvent.
put(evtplaneOutput);
T getParameter(std::string const &) const
edm::InputTag vtxCollection_
std::vector< TrackingParticle > TrackingParticleCollection
#define DEFINE_FWK_MODULE(type)
TrackingParticleRefVector::iterator tp_iterator
std::string label() const
std::vector< Vertex > VertexCollection
collection of Vertex objects
const std::string EPNames[]
edm::InputTag inputPlanes_
~HiEvtPlaneFlatProducer()
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
virtual void produce(edm::Event &, const edm::EventSetup &) override
std::vector< EvtPlane > EvtPlaneCollection
edm::InputTag centrality_
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
HiEvtPlaneFlatProducer(const edm::ParameterSet &)
return(e1-e2)*(e1-e2)+dp *dp
virtual void endJob() override
static const int NumEPNames
virtual void beginJob() override