#include <JetMatchingPy8Internal.h>
|
enum | partonTypes {
ID_CHARM =4,
ID_BOT =5,
ID_TOP =6,
ID_LEPMIN =11,
ID_LEPMAX =16,
ID_GLUON =21,
ID_PHOTON =22
} |
|
enum | vetoStatus {
NONE,
LESS_JETS,
MORE_JETS,
HARD_JET,
UNMATCHED_PARTON
} |
|
Pythia8::CellJet * | cellJet |
|
double | coneMatchHeavy |
|
double | coneMatchLight |
|
double | coneRadius |
|
double | coneRadiusHeavy |
|
bool | doMerge |
|
bool | doShowerKt |
|
double | etaJetMax |
|
double | etaJetMaxAlgo |
|
double | eTjetMin |
|
double | eTpTlightMin |
|
double | eTseed |
|
double | eTthreshold |
|
Pythia8::Event | eventProcess |
|
Pythia8::Event | eventProcessOrig |
|
bool | exclusive |
|
int | exclusiveMode |
|
int | jetAlgorithm |
|
int | jetAllow |
|
int | jetMatch |
|
vector< Pythia8::Vec4 > | jetMomenta |
|
int | nEta |
|
int | nJet |
|
int | nJetMax |
|
int | nPhi |
|
Pythia8::SlowJet * | slowJet |
|
Pythia8::SlowJet * | slowJetHard |
|
int | slowJetPower |
|
vector< int > | typeIdx [3] |
|
set< int > | typeSet [3] |
|
Pythia8::Event | workEventJet |
|
static const bool | MATCHINGCHECK = false |
|
static const bool | MATCHINGDEBUG = false |
|
Definition at line 132 of file JetMatchingPy8Internal.h.
JetMatchingAlpgen::JetMatchingAlpgen |
( |
| ) |
|
|
inline |
JetMatchingAlpgen::~JetMatchingAlpgen |
( |
| ) |
|
|
inline |
bool JetMatchingAlpgen::initAfterBeams |
( |
| ) |
|
|
virtual |
Implements JetMatching.
Definition at line 155 of file JetMatchingPy8Internal.cc.
References gather_cfg::cout, and dtDQMClient_cfg::resolution.
Referenced by JetMatchingAlpgenInputAlpgen::initAfterBeams().
158 doMerge = settingsPtr->flag(
"JetMatching:merge");
159 jetAlgorithm = settingsPtr->mode(
"JetMatching:jetAlgorithm");
160 nJet = settingsPtr->mode(
"JetMatching:nJet");
161 nJetMax = settingsPtr->mode(
"JetMatching:nJetMax");
162 eTjetMin = settingsPtr->parm(
"JetMatching:eTjetMin");
163 coneRadius = settingsPtr->parm(
"JetMatching:coneRadius");
164 etaJetMax = settingsPtr->parm(
"JetMatching:etaJetMax");
170 nEta = settingsPtr->mode(
"JetMatching:nEta");
171 nPhi = settingsPtr->mode(
"JetMatching:nPhi");
172 eTseed = settingsPtr->parm(
"JetMatching:eTseed");
173 eTthreshold = settingsPtr->parm(
"JetMatching:eTthreshold");
176 slowJetPower = settingsPtr->mode(
"JetMatching:slowJetPower");
183 jetAllow = settingsPtr->mode(
"JetMatching:jetAllow");
184 jetMatch = settingsPtr->mode(
"JetMatching:jetMatch");
195 infoPtr->errorMsg(
"Warning in JetMatchingAlpgen:init: "
196 "missing jet multiplicity information; running in exclusive mode");
215 int nSel = 2, smear = 0;
227 infoPtr->errorMsg(
"Warning in JetMatchingAlpgen:init: "
228 "jetMatch = 2 only valid with SlowJet algorithm. "
229 "Reverting to jetMatch = 1");
243 string modeStr = (
exclusive) ?
"exclusive" :
"inclusive";
244 stringstream nJetStr, nJetMaxStr;
245 if (
nJet >= 0) nJetStr <<
nJet;
else nJetStr <<
"unknown";
246 if (
nJetMax >= 0) nJetMaxStr <<
nJetMax;
else nJetMaxStr <<
"unknown";
248 <<
" *------- MLM matching parameters -------*" << endl
249 <<
" | nJet | " << setw(14)
250 << nJetStr.str() <<
" |" << endl
251 <<
" | nJetMax | " << setw(14)
252 << nJetMaxStr.str() <<
" |" << endl
253 <<
" | Jet algorithm | " << setw(14)
254 << jetStr <<
" |" << endl
255 <<
" | eTjetMin | " << setw(14)
257 <<
" | coneRadius | " << setw(14)
258 << coneRadius <<
" |" << endl
259 <<
" | etaJetMax | " << setw(14)
261 <<
" | jetAllow | " << setw(14)
263 <<
" | jetMatch | " << setw(14)
265 <<
" | coneMatchLight | " << setw(14)
267 <<
" | coneRadiusHeavy | " << setw(14)
269 <<
" | coneMatchHeavy | " << setw(14)
271 <<
" | Mode | " << setw(14)
272 << modeStr <<
" |" << endl
273 <<
" *-----------------------------------------*" << endl;
Pythia8::Event eventProcess
Pythia8::Event workEventJet
Pythia8::SlowJet * slowJet
Pythia8::Event eventProcessOrig
Pythia8::CellJet * cellJet
void JetMatchingAlpgen::jetAlgorithmInput |
( |
const Pythia8::Event & |
, |
|
|
int |
|
|
) |
| |
|
privatevirtual |
Implements JetMatching.
Definition at line 330 of file JetMatchingPy8Internal.cc.
References funct::abs(), funct::cos(), alignCSCRings::e, end, create_public_lumi_plots::exp, spr::find(), i, customizeTrackingMonitorSeedNumber::idx, phi, RecoTauCleanerPlugins::pt, funct::sin(), findQualityFiles::size, mathSSE::sqrt(), and detailsBasic3DVector::y.
371 idx =
event[
idx].mother1();
374 }
else if (iType == 1) {
387 idx =
event[
idx].mother1();
399 double y = pIn.rap();
400 double phi = pIn.phi();
404 double e2y =
exp(2. * y);
405 double pz = e * (e2y - 1.) / (e2y + 1.);
407 double px = pt *
cos(phi);
408 double py = pt *
sin(phi);
409 workEventJet.append(
ID_GLUON, 99, 0, 0, 0, 0, 0, 0, px, py, pz,
e);
417 infoPtr->errorMsg(
"Warning in JetMatchingAlpgen:jetAlgorithmInput: "
418 "ghost particle y/phi mismatch");
Pythia8::Event eventProcess
Pythia8::Event workEventJet
Sin< T >::type sin(const T &t)
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Cos< T >::type cos(const T &t)
Abs< T >::type abs(const T &t)
tuple idx
DEBUGGING if hasattr(process,"trackMonIterativeTracking2012"): print "trackMonIterativeTracking2012 D...
static const double ZEROTHRESHOLD
static const bool MATCHINGCHECK
tuple size
Write out results.
static const double GHOSTENERGY
bool JetMatchingAlpgen::matchPartonsToJets |
( |
int |
iType | ) |
|
|
privatevirtual |
int JetMatchingAlpgen::matchPartonsToJetsHeavy |
( |
| ) |
|
|
privatevirtual |
Implements JetMatching.
Definition at line 584 of file JetMatchingPy8Internal.cc.
References PFRecoTauDiscriminationAgainstElectronDeadECAL_cfi::dR, i, j, NONE, and p1.
590 int nParton =
typeIdx[1].size();
593 set < int > removeJets;
599 for (
int i = 0;
i < nParton;
i++) {
607 removeJets.insert(j);
619 int jMin =
slowJet->jetAssignment(
i);
620 if (jMin >= 0) removeJets.insert(jMin);
626 for (set < int >::reverse_iterator it = removeJets.rbegin();
627 it != removeJets.rend(); it++)
Pythia8::Event eventProcess
Pythia8::Event workEventJet
Pythia8::SlowJet * slowJet
vector< Pythia8::Vec4 > jetMomenta
int JetMatchingAlpgen::matchPartonsToJetsLight |
( |
| ) |
|
|
privatevirtual |
Implements JetMatching.
Definition at line 484 of file JetMatchingPy8Internal.cc.
References PFRecoTauDiscriminationAgainstElectronDeadECAL_cfi::dR, i, j, NONE, and p1.
495 int nParton =
typeIdx[0].size();
498 vector < bool > jetAssigned;
505 for (
int i = 0;
i < nParton;
i++) {
514 if (jetAssigned[
j])
continue;
519 if (jMin < 0 || dR < dRmin) {
531 if (jMin >= nParton)
return HARD_JET;
534 jetAssigned[jMin] =
true;
547 int jMin =
slowJet->jetAssignment(
i);
553 if (jMin >= nParton)
return HARD_JET;
557 jetAssigned[jMin] =
true;
Pythia8::Event eventProcess
Pythia8::Event workEventJet
Pythia8::SlowJet * slowJet
void sortTypeIdx(vector< int > &vecIn)
vector< Pythia8::Vec4 > jetMomenta
void JetMatchingAlpgen::runJetAlgorithm |
( |
| ) |
|
|
privatevirtual |
Implements JetMatching.
Definition at line 429 of file JetMatchingPy8Internal.cc.
References funct::abs(), eta(), and i.
443 for (
int i = iJet;
i > -1;
i--) {
446 double eta = jetMom.eta();
Pythia8::Event workEventJet
Pythia8::SlowJet * slowJet
Abs< T >::type abs(const T &t)
Pythia8::CellJet * cellJet
vector< Pythia8::Vec4 > jetMomenta
void JetMatchingAlpgen::sortIncomingProcess |
( |
const Pythia8::Event & |
| ) |
|
|
privatevirtual |
Implements JetMatching.
Definition at line 282 of file JetMatchingPy8Internal.cc.
References funct::abs(), i, customizeTrackingMonitorSeedNumber::idx, and m.
298 for (
int i = 0;
i < 3;
i++) {
Pythia8::Event eventProcess
Pythia8::Event eventProcessOrig
Abs< T >::type abs(const T &t)
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger but the state exists so we define the behavior If all triggers are the negative crieriion will lead to accepting the event(this again matches the behavior of"!*"before the partial wildcard feature was incorporated).The per-event"cost"of each negative criterion with multiple relevant triggers is about the same as!*was in the past
tuple idx
DEBUGGING if hasattr(process,"trackMonIterativeTracking2012"): print "trackMonIterativeTracking2012 D...
static const double ZEROTHRESHOLD
void JetMatchingAlpgen::sortTypeIdx |
( |
vector< int > & |
vecIn | ) |
|
|
private |
Definition at line 132 of file JetMatchingPy8Internal.cc.
References i, j, and swap().
133 for (
size_t i = 0;
i < vecIn.size();
i++) {
138 for (
size_t j =
i + 1;
j < vecIn.size();
j++) {
146 if (jMax !=
i)
swap(vecIn[
i], vecIn[jMax]);
void swap(ora::Record &rh, ora::Record &lh)
Pythia8::Event eventProcess
const double JetMatchingAlpgen::GHOSTENERGY = 1e-15 |
|
staticprivate |
const double JetMatchingAlpgen::ZEROTHRESHOLD = 1e-10 |
|
staticprivate |