|
|
Go to the documentation of this file.
81 GenPlane(
string name,
double etaminval1,
double etamaxval1,
double etaminval2,
double etamaxval2,
int orderval) {
93 order = (double)orderval;
97 if ((
eta >= etamin1 &&
eta < etamax1) || (etamin2 != etamax2 &&
eta >= etamin2 &&
eta < etamax2)) {
106 sumPtOrEt2 += PtOrEt * PtOrEt;
124 svNoWgt = sumsinNoWgt;
125 cvNoWgt = sumcosNoWgt;
129 PtOrEt2 = sumPtOrEt2;
245 double minet = minet_;
246 double maxet = maxet_;
258 if (not passEta(
track.eta,
i))
273 double minet = minet_;
274 double maxet = maxet_;
285 if (not passEta(
track.eta,
i))
316 double minpt = minpt_;
317 double maxpt = maxpt_;
328 if (not passEta(
track.eta,
i))
345 : centralityVariable_(iConfig.getParameter<
std::
string>(
"centralityVariable")),
346 centralityBinTag_(iConfig.getParameter<
edm::
InputTag>(
"centralityBinTag")),
347 vertexTag_(iConfig.getParameter<
edm::
InputTag>(
"vertexTag")),
348 caloTag_(iConfig.getParameter<
edm::
InputTag>(
"caloTag")),
349 castorTag_(iConfig.getParameter<
edm::
InputTag>(
"castorTag")),
350 trackTag_(iConfig.getParameter<
edm::
InputTag>(
"trackTag")),
351 losttrackTag_(iConfig.getParameter<
edm::
InputTag>(
"lostTag")),
352 chi2MapTag_(iConfig.getParameter<
edm::
InputTag>(
"chi2MapTag")),
353 chi2MapLostTag_(iConfig.getParameter<
edm::
InputTag>(
"chi2MapLostTag")),
354 loadDB_(iConfig.getParameter<
bool>(
"loadDB")),
355 minet_(iConfig.getParameter<double>(
"minet")),
356 maxet_(iConfig.getParameter<double>(
"maxet")),
357 minpt_(iConfig.getParameter<double>(
"minpt")),
358 maxpt_(iConfig.getParameter<double>(
"maxpt")),
359 flatnvtxbins_(iConfig.getParameter<
int>(
"flatnvtxbins")),
360 flatminvtx_(iConfig.getParameter<double>(
"flatminvtx")),
361 flatdelvtx_(iConfig.getParameter<double>(
"flatdelvtx")),
362 dzdzerror_(iConfig.getParameter<double>(
"dzdzerror")),
363 d0d0error_(iConfig.getParameter<double>(
"d0d0error")),
364 pterror_(iConfig.getParameter<double>(
"pterror")),
365 chi2perlayer_(iConfig.getParameter<double>(
"chi2perlayer")),
366 dzdzerror_pix_(iConfig.getParameter<double>(
"dzdzerror_pix")),
367 chi2_(iConfig.getParameter<double>(
"chi2")),
368 nhitsValid_(iConfig.getParameter<
int>(
"nhitsValid")),
369 FlatOrder_(iConfig.getParameter<
int>(
"FlatOrder")),
370 NumFlatBins_(iConfig.getParameter<
int>(
"NumFlatBins")),
371 caloCentRef_(iConfig.getParameter<double>(
"caloCentRef")),
372 caloCentRefWidth_(iConfig.getParameter<double>(
"caloCentRefWidth")),
373 CentBinCompression_(iConfig.getParameter<
int>(
"CentBinCompression")),
374 cutEra_(iConfig.getParameter<
int>(
"cutEra"))
383 if (iConfig.
exists(
"nonDefaultGlauberModel")) {
410 produces<reco::EvtPlaneCollection>();
436 using namespace reco;
450 if (minbin > 0 && maxbin >= minbin) {
464 if (!
db.IsSuccess()) {
482 double bestvz =
vtx.z();
483 double bestvx =
vtx.x();
484 double bestvy =
vtx.y();
485 double bestvzError =
vtx.zError();
504 for (
unsigned int i = 0,
n =
cands->size();
i <
n; ++
i) {
515 if (!
pf.hasTrackDetails())
547 for (
unsigned int i = 0,
n = calocands->size();
i <
n; ++
i) {
609 auto evtplaneOutput = std::make_unique<EvtPlaneCollection>();
624 rp[
i]->
getAngle(ang,
sv,
cv, svNoWgt, cvNoWgt, wv, wv2, pe, pe2, epmult);
625 evtplaneOutput->push_back(
EvtPlane(
i, 0, ang,
sv,
cv, wv, wv2, pe, pe2, epmult));
626 evtplaneOutput->back().addLevel(3, 0., svNoWgt, cvNoWgt);
GenPlane * rp[NumEPNames]
bool check(const edm::EventSetup &iSetup)
~EvtPlaneProducer() override
edm::EDGetTokenT< std::vector< reco::CastorTower > > castorToken_
const std::array< double, NumEPNames > EPEtaMax1
common ppss p3p6s2 common epss epspn46 common const1 w2
double ptError() const
error on Pt (set to 1000 TeV if charge==0 for safety)
edm::InputTag centralityBinTag_
void setCaloCentRefBins(const int caloCentRefMinBin, const int caloCentRefMaxBin)
bool isGoodHF(const TrackStructure &track) const
GenPlane(string name, double etaminval1, double etamaxval1, double etaminval2, double etamaxval2, int orderval)
double getW(double pt, double vtx, int centbin) const
edm::EDGetTokenT< pat::PackedCandidateCollection > lostToken_
edm::InputTag losttrackTag_
void addParticle(double w, double PtOrEt, double s, double c, double eta)
const std::array< std::string, NumEPNames > EPNames
bool isGoodTrack(const TrackStructure &track) const
const std::array< double, NumEPNames > EPEtaMin1
const std::array< int, NumEPNames > EPOrder
unsigned short numberOfValidHits() const
number of valid hits found
double dxyError() const
error on dxy
edm::ESWatcher< HeavyIonRcd > hiWatcher_
bool passEta(float eta, int i)
const std::array< double, NumEPNames > EPEtaMax2
Sin< T >::type sin(const T &t)
HiEvtPlaneFlatten * flat[NumEPNames]
double pt() const
track transverse momentum
std::string centralityLabel_
Cos< T >::type cos(const T &t)
std::string centralityVariable_
#define DEFINE_FWK_MODULE(type)
int trackerLayersWithMeasurement() const
std::string centralityMC_
void produce(edm::Event &, const edm::EventSetup &) override
std::vector< CBin > m_table
edm::EDGetTokenT< edm::ValueMap< float > > chi2MapToken_
int charge() const
track electric charge
double dz() const
dz parameter (= dsz/cos(lambda)). This is the track z0 w.r.t (0,0,0) only if the refPoint is close to...
double phi() const
azimuthal angle of momentum vector
double etScale(double vtx, int centbin) const
edm::EDGetTokenT< CaloTowerCollection > caloToken_
bool exists(std::string const ¶meterName) const
checks if a parameter exists
edm::Handle< std::vector< reco::CastorTower > > castorCollection_
XYZPointD XYZPoint
point in space with cartesian internal representation
void fillHF(const TrackStructure &track, double vz, int bin)
void fillTracker(const TrackStructure &track, double vz, int bin)
edm::EDGetTokenT< reco::TrackCollection > trackToken_
edm::EDGetTokenT< reco::PFCandidateCollection > caloTokenPF_
double eta() const
pseudorapidity of momentum vector
double dzError() const
error on dz
edm::EDGetTokenT< int > centralityBinToken_
edm::ESWatcher< HeavyIonRPRcd > hirpWatcher_
const std::array< std::string, NumEPNames > MomConsWeight
bool bScalo_particleFlow_
edm::Handle< CaloTowerCollection > caloCollection_
const std::array< int, NumEPNames > EPDet
TrackAlgorithm algo() const
const HitPattern & hitPattern() const
Access the hit pattern, indicating in which Tracker layers the track has hits.
edm::InputTag chi2MapLostTag_
bool isGoodCastor(const TrackStructure &track) const
edm::Handle< std::vector< reco::Vertex > > vertex_
double getAngle(double &ang, double &sv, double &cv, double &svNoWgt, double &cvNoWgt, double &w, double &w2, double &PtOrEt, double &PtOrEt2, uint &epmult)
const std::array< double, NumEPNames > EPEtaMin2
const std::array< double, NumEPNames > minTransverse
const std::array< double, NumEPNames > maxTransverse
T getParameter(std::string const &) const
edm::EDGetTokenT< edm::ValueMap< float > > chi2MapLostToken_
edm::InputTag chi2MapTag_
Particle reconstructed by the particle flow algorithm.
void reset(double vett[256])
static const int NumEPNames
edm::Handle< reco::TrackCollection > trackCollection_
void init(int order, int nbins, int nvtxbins=10, double minvtx=-25, double delvtx=5, std::string tag="", int vord=2)
Abs< T >::type abs(const T &t)
void fillCastor(const TrackStructure &track, double vz, int bin)
edm::EDGetTokenT< std::vector< reco::Vertex > > vertexToken_
EvtPlaneProducer(const edm::ParameterSet &)
double dxy() const
dxy parameter. (This is the transverse impact parameter w.r.t. to (0,0,0) ONLY if refPoint is close t...
edm::EDGetTokenT< pat::PackedCandidateCollection > packedToken_
bool bStrack_packedPFCandidates_
edm::Ref< pat::PackedCandidateCollection > PackedCandidateRef