CMS 3D CMS Logo

L1GctInternJetProducer.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // Package: L1GctInternJetProducer
4 // Class: L1GctInternJetProducer
5 //
8 //
9 // Original Author: Alex Tapper
10 //
11 //
12 
13 // system include files
14 #include <memory>
15 
16 // user include files
18 
21 
25 
28 
31 
33  : internalJetSource_(iConfig.getParameter<edm::InputTag>("internalJetSource")),
34  centralBxOnly_(iConfig.getParameter<bool>("centralBxOnly")) {
35  using namespace l1extra;
36 
37  produces<L1JetParticleCollection>("Internal");
38 }
39 
41 
43  //std::cout << "ARGGHHH!" << std::endl;
44  using namespace edm;
45  using namespace l1extra;
46  using namespace std;
47 
48  unique_ptr<L1JetParticleCollection> internJetColl(new L1JetParticleCollection);
49 
50  ESHandle<L1CaloGeometry> caloGeomESH;
51  iSetup.get<L1CaloGeometryRecord>().get(caloGeomESH);
52  const L1CaloGeometry* caloGeom = &(*caloGeomESH);
53 
55  iSetup.get<L1JetEtScaleRcd>().get(jetScale);
56 
57  double etSumLSB = jetScale->linearLsb();
58  //std::cout << "Inside the Jet producer " << etSumLSB << std::endl;
59 
61  iEvent.getByLabel(internalJetSource_, hwIntJetCands);
62  //std::cout << "At leas Something is happening" <<std::endl;
63  if (!hwIntJetCands.isValid()) {
64  std::cout << "These aren't the Jets you're looking for" << std::endl;
65 
66  LogDebug("L1GctInternJetProducer") << "\nWarning: L1GctJetCandCollection with " << internalJetSource_
67  << "\nrequested in configuration, but not found in the event." << std::endl;
68 
69  } else {
70  //std::cout << "apparently the collection was found" <<std::endl;
71  L1GctInternJetDataCollection::const_iterator jetItr = hwIntJetCands->begin();
72  L1GctInternJetDataCollection::const_iterator jetEnd = hwIntJetCands->end();
73  int i;
74  for (i = 0; jetItr != jetEnd; ++jetItr, ++i) {
75  //std::cout << " JetS a plenty" <<std::endl;
76  if (!jetItr->empty() && (!centralBxOnly_ || jetItr->bx() == 0)) {
77  double et = (jetItr->oflow() ? (double)0xfff : (double)jetItr->et()) * etSumLSB + 1.e-6;
78 
79  //double et = 10.;
80  //std::cout << "jetET: " << jetItr->et() <<std::endl;
81  //std::cout << "ET was: " << et << std::endl;
82  double eta = caloGeom->etaBinCenter(jetItr->regionId());
83  double phi = caloGeom->emJetPhiBinCenter(jetItr->regionId());
84 
85  internJetColl->push_back(
87  }
88  }
89  }
90 
91  OrphanHandle<L1JetParticleCollection> internalJetHandle = iEvent.put(std::move(internJetColl), "Internal");
92 }
93 
95 
97 
98 //define this as a plug-in
Handle.h
L1JetParticleCollection
electrons_cff.bool
bool
Definition: electrons_cff.py:372
mps_fire.i
i
Definition: mps_fire.py:355
L1CaloGeometry::emJetPhiBinCenter
double emJetPhiBinCenter(unsigned int phiIndex) const
Definition: L1CaloGeometry.cc:224
L1GctInternJetProducer::L1GctInternJetProducer
L1GctInternJetProducer(const edm::ParameterSet &)
Definition: L1GctInternJetProducer.cc:32
ESHandle.h
L1GctInternJetProducer::produce
void produce(edm::Event &, const edm::EventSetup &) override
Definition: L1GctInternJetProducer.cc:42
edm
HLT enums.
Definition: AlignableModifier.h:19
gather_cfg.cout
cout
Definition: gather_cfg.py:144
L1GctInternJetProducer.h
edm::Handle
Definition: AssociativeIterator.h:50
L1GctInternJetProducer::endJob
void endJob() override
Definition: L1GctInternJetProducer.cc:96
edm::Ref< L1GctJetCandCollection >
MakerMacros.h
edm::EventSetup::get
T get() const
Definition: EventSetup.h:73
DEFINE_FWK_MODULE
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
PVValHelper::eta
Definition: PVValidationHelpers.h:69
OrphanHandle.h
L1JetEtScaleRcd
Definition: L1JetEtScaleRcd.h:30
edm::ESHandle
Definition: DTSurvey.h:22
L1CaloGeometryRecord
Definition: L1CaloGeometryRecord.h:30
HLT_2018_cff.InputTag
InputTag
Definition: HLT_2018_cff.py:79016
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:670
edm::ParameterSet
Definition: ParameterSet.h:36
L1CaloGeometry
Definition: L1CaloGeometry.h:33
L1CaloGeometryRecord.h
L1GctInternJetProducer::centralBxOnly_
bool centralBxOnly_
Definition: L1GctInternJetProducer.h:46
L1GctInternJetProducer::~L1GctInternJetProducer
~L1GctInternJetProducer() override
Definition: L1GctInternJetProducer.cc:40
l1extra::L1JetParticle
Definition: L1JetParticle.h:28
L1GctInternJetProducer
Definition: L1GctInternJetProducer.h:29
iEvent
int iEvent
Definition: GenABIO.cc:224
EgHLTOffHistBins_cfi.et
et
Definition: EgHLTOffHistBins_cfi.py:8
edm::EventSetup
Definition: EventSetup.h:57
get
#define get
L1GctInternJetProducer::internalJetSource_
edm::InputTag internalJetSource_
Definition: L1GctInternJetProducer.h:44
L1CaloEtScale.h
L1GctInternJetProducer::beginJob
void beginJob() override
Definition: L1GctInternJetProducer.cc:94
DDAxes::phi
eostools.move
def move(src, dest)
Definition: eostools.py:511
std
Definition: JetResolutionObject.h:76
edm::OrphanHandle
Definition: EDProductfwd.h:39
Frameworkfwd.h
wplusjetsAnalysis_cfi.jetScale
jetScale
Definition: wplusjetsAnalysis_cfi.py:88
math::PtEtaPhiMLorentzVector
PtEtaPhiMLorentzVectorD PtEtaPhiMLorentzVector
Lorentz vector with cartesian internal representation.
Definition: LorentzVector.h:25
l1extra
Definition: L1EmParticle.h:26
L1JetEtScaleRcd.h
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
edm::Event
Definition: Event.h:73
L1CaloGeometry.h
L1CaloGeometry::etaBinCenter
double etaBinCenter(unsigned int etaIndex, bool central=true) const
Definition: L1CaloGeometry.cc:167
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37