CMS 3D CMS Logo

Functions | Variables
fwrapper Namespace Reference

Functions

void transfer_cluster_transfer (const double *p, const int &npart, const JetDefinition &jet_def, const double &ptmin, double *f77jets, int &njets, int *whichjet, const double &ghost_maxrap=0.0, const int &nrepeat=0, const double &ghost_area=0.0)
 
void transfer_input_particles (const double *p, const int &npart)
 helper routine to transfer fortran input particles into More...
 
void transfer_jets (double *f77jets, int &njets)
 helper routine to help transfer jets -> f77jets[4*ijet+0..3] More...
 

Variables

unique_ptr< ClusterSequence > cs
 
vector< PseudoJet > input_particles
 
JetDefinition jet_def
 
vector< PseudoJet > jets
 
unique_ptr< JetDefinition::Plugin > plugin
 

Detailed Description

a namespace for the fortran-wrapper which contains commonly-used structures and means to transfer fortran <-> C++

Function Documentation

void fwrapper::transfer_cluster_transfer ( const double *  p,
const int &  npart,
const JetDefinition &  jet_def,
const double &  ptmin,
double *  f77jets,
int &  njets,
int *  whichjet,
const double &  ghost_maxrap = 0.0,
const int &  nrepeat = 0,
const double &  ghost_area = 0.0 
)

helper routine packaging the transfers, the clustering and the extraction of the jets

Definition at line 79 of file fastjetfortran_madfks.cc.

References cuy::ii, GetRecoTauVFromDQM_MC_cff::kk, BTaggingMonitoring_cff::njets, npart, transfer_input_particles(), and transfer_jets().

Referenced by fastjetppgenkt_().

84  {
85 
86  // transfer p[4*ipart+0..3] -> input_particles[i]
88 
89  // perform the clustering
90  if ( ghost_maxrap == 0.0 ) {
91  // cluster without areas
92  cs.reset(new ClusterSequence(input_particles,jet_def));
93  } else {
94  // cluster with areas
95  GhostedAreaSpec area_spec(ghost_maxrap,nrepeat,ghost_area);
96  AreaDefinition area_def(active_area, area_spec);
97  cs.reset(new ClusterSequenceArea(input_particles,jet_def,area_def));
98  }
99  // extract jets (pt-ordered)
100  jets = sorted_by_pt(cs->inclusive_jets(ptmin));
101 
102  // transfer jets -> f77jets[4*ijet+0..3]
103  transfer_jets(f77jets, njets);
104 
105  // Determine which parton/particle ended-up in which jet
106  // set all jet entrie to zero first
107  for(int ii=0; ii<npart; ++ii) whichjet[ii]=0;
108 
109  // Loop over jets and find constituents
110  for (int kk=0; kk<njets; ++kk) {
111  vector<PseudoJet> constit = cs->constituents(jets[kk]);
112  for(unsigned int ll=0; ll<constit.size(); ++ll)
113  whichjet[constit[ll].user_index()]=kk+1;
114  }
115 
116  }
JetDefinition jet_def
unique_ptr< ClusterSequence > cs
double npart
Definition: HydjetWrapper.h:46
void transfer_input_particles(const double *p, const int &npart)
helper routine to transfer fortran input particles into
vector< PseudoJet > jets
vector< PseudoJet > input_particles
ii
Definition: cuy.py:590
void transfer_jets(double *f77jets, int &njets)
helper routine to help transfer jets -> f77jets[4*ijet+0..3]
double ptmin
Definition: HydjetWrapper.h:84
void fwrapper::transfer_input_particles ( const double *  p,
const int &  npart 
)

helper routine to transfer fortran input particles into

Definition at line 48 of file fastjetfortran_madfks.cc.

References mps_fire::i, dqmiolumiharvest::j, and npart.

Referenced by transfer_cluster_transfer().

48  {
49  input_particles.resize(0);
50  input_particles.reserve(npart);
51  for (int i=0; i<npart; i++) {
52  valarray<double> mom(4); // mom[0..3]
53  for (int j=0;j<=3; j++) {
54  mom[j] = *(p++);
55  // RF-MZ: reorder the arguments because in madfks energy goes first; in fastjet last.
56  // mom[(j+3) % 4] = *(p++);
57  }
58  PseudoJet psjet(mom);
59  psjet.set_user_index(i);
60  input_particles.push_back(psjet);
61  }
62  }
double npart
Definition: HydjetWrapper.h:46
vector< PseudoJet > input_particles
void fwrapper::transfer_jets ( double *  f77jets,
int &  njets 
)

helper routine to help transfer jets -> f77jets[4*ijet+0..3]

Definition at line 65 of file fastjetfortran_madfks.cc.

References mps_fire::i, dqmiolumiharvest::j, and BTaggingMonitoring_cff::njets.

Referenced by transfer_cluster_transfer().

65  {
66  njets = jets.size();
67  for (int i=0; i<njets; i++) {
68  for (int j=0;j<=3; j++) {
69  *f77jets = jets[i][j];
70  // RF-MZ: reorder the arguments because in madfks energy goes first; in fastjet last.
71  //*f77jets = jets[i][(j+3) % 4];
72  f77jets++;
73  }
74  }
75  }
vector< PseudoJet > jets

Variable Documentation

unique_ptr<ClusterSequence> fwrapper::cs

Definition at line 45 of file fastjetfortran_madfks.cc.

Referenced by PedestalTask::_dump(), RawTask::_process(), DigiPhase1Task::_process(), DigiTask::_process(), cond::DataProxyWrapperBase::addInfo(), DigiTask::bookHistograms(), CSCGeometryBuilder::build(), CmsShowCommonPopup::changeGeomColor(), CmsShowCommonPopup::changeSelectionColorSet(), CmsShowModelPopup::clicked(), XrdAdaptor::XrdStatisticsService::condorUpdate(), edmNew::copyDetSetRange(), HcalTimeSlewSim::delay(), edm::CosMuoGenProducer::endRunProduce(), CSCStripTopology::equationOfStrip(), fastjetarea_(), fastjetconstituents_(), fastjetdmerge_(), fastjetdmergemax_(), fastjetglobalrhoandsigma_(), FFTJetPatRecoProducer::FFTJetPatRecoProducer(), LHEJetFilter::filter(), EcalDeadCellBoundaryEnergyFilter::filter(), gen::Pythia6Hadronizer::finalizeEvent(), KinematicConstrainedVertexFitter::fit(), KinematicConstrainedVertexFitterT< nTrk, nConstraint >::fit(), BPHRecoBuilder::BPHSpecificCollection< T >::get(), AnomalousECALVariables::isDeadEcalCluster(), CSCRadialStripTopology::localError(), TkRadialStripTopology::localError(), CSCRadialStripTopology::measurementError(), TkRadialStripTopology::measurementError(), l1t::ClusterShapes::operator+(), HBHEPhase1Reconstructor::processData(), edm::DataFrameContainer::push_back(), Qjets::Qjets(), HFPreRecAlgo::reconstruct(), HcalSimpleRecAlgoImpl::removePileup(), SubjetFilterAlgorithm::run(), BPHRecoBuilder::sameTrack(), edm::DataFrameContainer::set_back(), cscdqm::Configuration::setChamberCounterValue(), Model::setCocoaStatus(), ESElectronicsSim::setMIPToGeV(), HBHENegativeFlagSetter::setPulseShapeFlags(), QjetsPlugin::SetRNEngine(), gen::ExhumeHadronizer::statistics(), gen::Pythia6Hadronizer::statistics(), L1RCTProducer::updateFedVector(), LagrangeParentParticleFitter::~LagrangeParentParticleFitter(), and ParentParticleFitter::~ParentParticleFitter().

vector<PseudoJet> fwrapper::input_particles

Definition at line 42 of file fastjetfortran_madfks.cc.

JetDefinition fwrapper::jet_def
vector<PseudoJet> fwrapper::jets

Definition at line 42 of file fastjetfortran_madfks.cc.

Referenced by fastjetarea_(), and fastjetconstituents_().

unique_ptr<JetDefinition::Plugin> fwrapper::plugin