9 #include "Math/Vector3D.h"
98 : centralityVariable_(iConfig.getParameter<
std::
string>(
"centralityVariable")),
99 centralityBinTag_(iConfig.getParameter<
edm::
InputTag>(
"centralityBinTag")),
100 centralityTag_(iConfig.getParameter<
edm::
InputTag>(
"centralityTag")),
101 vertexTag_(iConfig.getParameter<
edm::
InputTag>(
"vertexTag")),
102 inputPlanesTag_(iConfig.getParameter<
edm::
InputTag>(
"inputPlanesTag")),
103 trackTag_(iConfig.getParameter<
edm::
InputTag>(
"trackTag")),
104 FlatOrder_(iConfig.getParameter<
int>(
"FlatOrder")),
105 NumFlatBins_(iConfig.getParameter<
int>(
"NumFlatBins")),
106 flatnvtxbins_(iConfig.getParameter<
int>(
"flatnvtxbins")),
107 flatminvtx_(iConfig.getParameter<double>(
"flatminvtx")),
108 flatdelvtx_(iConfig.getParameter<double>(
"flatdelvtx")),
109 caloCentRef_(iConfig.getParameter<double>(
"caloCentRef")),
110 caloCentRefWidth_(iConfig.getParameter<double>(
"caloCentRefWidth")),
111 CentBinCompression_(iConfig.getParameter<
int>(
"CentBinCompression")),
112 useOffsetPsi_(iConfig.getParameter<
bool>(
"useOffsetPsi")) {
115 if (iConfig.
exists(
"nonDefaultGlauberModel")) {
131 produces<reco::EvtPlaneCollection>();
155 using namespace reco;
170 if (minbin > 0 && maxbin >= minbin) {
198 double bestvz = -999.9;
208 auto evtplaneOutput = std::make_unique<EvtPlaneCollection>();
214 for (
auto&& rp : (evtPlanes)) {
215 double s = rp.sumSin(0);
216 double c = rp.sumCos(0);
220 double psiOffset = -10;
221 double psiFlat = -10;
222 if (rp.angle(0) > -5) {
230 ep[indx] =
new EvtPlane(indx, 2, psiFlat, soff, coff, rp.sumw(), rp.sumw2(), rp.sumPtOrEt(), rp.sumPtOrEt2(),
m);
231 ep[indx]->addLevel(0, rp.angle(0),
s,
c);
232 ep[indx]->addLevel(3, 0., rp.sumSin(3), rp.sumCos(3));
234 ep[indx]->addLevel(1, psiOffset, soff, coff);
239 if (
ep[
i] !=
nullptr)
240 evtplaneOutput->push_back(*
ep[
i]);
243 for (
int i = 0;
i < indx;
i++)