CMS 3D CMS Logo

Stage2Layer2DemuxJetAlgoFirmwareImp1.cc
Go to the documentation of this file.
1 
10 
13 
14 
15 #include <vector>
16 #include <algorithm>
17 
18 inline bool operator> ( l1t::Jet& a, l1t::Jet& b )
19 {
20  if ( a.hwPt() > b.hwPt() ){
21  return true;
22  } else {
23  return false;
24  }
25 }
26 
28 
30 {
31 
32 
33 }
34 
35 
37  std::vector<l1t::Jet> & outputJets) {
38 
39  outputJets = inputJets;
40 
41  // Sort the jets by pT
42  std::vector<l1t::Jet>::iterator start(outputJets.begin());
43  std::vector<l1t::Jet>::iterator end(outputJets.end());
44 
45  // for (auto& jet: outputJets){
46  // std::cout << "MP : " << jet.hwPt() << ", " << jet.hwEta() << ", " << jet.hwPhi() << ", " << CaloTools::towerEta(jet.hwEta()) << ", " << CaloTools::towerPhi(jet.hwEta(),jet.hwPhi()) << std::endl;
47  // }
48 
49  BitonicSort< l1t::Jet >(down,start,end);
50 
51  // convert eta to GT coordinates
52  for(auto& jet : outputJets){
53 
54  int gtEt = jet.hwPt() > 0x7FF ? 0x7FF : jet.hwPt();
56  int gtPhi = CaloTools::gtPhi(CaloTools::mpEta(jet.hwEta()),jet.hwPhi());
57 
58  jet.setHwPt(gtEt);
59  jet.setHwEta(gtEta);
60  jet.setHwPhi(gtPhi);
61 
62  }
63 
64 
65 }
static int mpEta(int ieta)
Definition: CaloTools.cc:200
bool operator>(l1t::Jet &a, l1t::Jet &b)
const unsigned int gtEta(const unsigned int iEta)
static int gtPhi(int ieta, int iphi)
Definition: CaloTools.cc:277
Definition: Jet.h:21
static int gtEta(int ieta)
Definition: CaloTools.cc:270
#define end
Definition: vmac.h:39
void processEvent(const std::vector< l1t::Jet > &inputJets, std::vector< l1t::Jet > &outputJets) override
int hwPt() const
Definition: L1Candidate.h:48
double b
Definition: hdecay.h:120
double a
Definition: hdecay.h:121