CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes | Friends
l1t::Stage2MainProcessorFirmwareImp1 Class Reference

#include <Stage2MainProcessorFirmware.h>

Inheritance diagram for l1t::Stage2MainProcessorFirmwareImp1:
l1t::Stage2MainProcessor

Public Member Functions

void print (std::ostream &) const
 
virtual void processEvent (const std::vector< l1t::CaloTower > &inTowers, std::vector< l1t::CaloTower > &outTowers, std::vector< l1t::CaloCluster > &clusters, std::vector< l1t::EGamma > &mpEGammas, std::vector< l1t::Tau > &mpTaus, std::vector< l1t::Jet > &mpJets, std::vector< l1t::EtSum > &mpSums, std::vector< l1t::EGamma > &egammas, std::vector< l1t::Tau > &taus, std::vector< l1t::Jet > &jets, std::vector< l1t::EtSum > &etSums)
 
 Stage2MainProcessorFirmwareImp1 (unsigned fwv, CaloParamsHelper *params)
 
virtual ~Stage2MainProcessorFirmwareImp1 ()
 
- Public Member Functions inherited from l1t::Stage2MainProcessor
virtual ~Stage2MainProcessor ()
 

Private Attributes

Stage2Layer2DemuxEGAlgom_demuxEGAlgo
 
Stage2Layer2DemuxJetAlgom_demuxJetAlgo
 
Stage2Layer2DemuxSumsAlgom_demuxSumsAlgo
 
Stage2Layer2DemuxTauAlgom_demuxTauAlgo
 
Stage2Layer2EGammaAlgorithmm_egAlgo
 
Stage2Layer2ClusterAlgorithmm_egClusterAlgo
 
Stage2Layer2JetAlgorithmm_jetAlgo
 
Stage2Layer2JetSumAlgorithmm_jetSumAlgo
 
CaloParamsHelperm_params
 
Stage2Layer2EtSumAlgorithmm_sumAlgo
 
Stage2Layer2TauAlgorithmm_tauAlgo
 
Stage2Layer2ClusterAlgorithmm_tauClusterAlgo
 
Stage2TowerDecompressAlgorithmm_towerAlgo
 

Friends

std::ostream & operator<< (std::ostream &o, const Stage2MainProcessorFirmwareImp1 &p)
 

Detailed Description

Definition at line 35 of file Stage2MainProcessorFirmware.h.

Constructor & Destructor Documentation

l1t::Stage2MainProcessorFirmwareImp1::Stage2MainProcessorFirmwareImp1 ( unsigned  fwv,
CaloParamsHelper params 
)

Definition at line 26 of file Stage2MainProcessorImp1.cc.

References m_demuxEGAlgo, m_demuxJetAlgo, m_demuxSumsAlgo, m_demuxTauAlgo, m_egAlgo, m_egClusterAlgo, m_jetAlgo, m_jetSumAlgo, m_params, m_sumAlgo, m_tauAlgo, m_tauClusterAlgo, and m_towerAlgo.

26  :
27  m_params(params)
28 {
29 
30  m_towerAlgo = new Stage2TowerDecompressAlgorithmFirmwareImp1(m_params);
31  m_egClusterAlgo = new Stage2Layer2ClusterAlgorithmFirmwareImp1(m_params,
32  Stage2Layer2ClusterAlgorithmFirmwareImp1::ClusterInput::E);
33  m_egAlgo = new Stage2Layer2EGammaAlgorithmFirmwareImp1(m_params);
34  m_tauClusterAlgo = new Stage2Layer2ClusterAlgorithmFirmwareImp1(m_params,
35  Stage2Layer2ClusterAlgorithmFirmwareImp1::ClusterInput::EH);
36  m_tauAlgo = new Stage2Layer2TauAlgorithmFirmwareImp1(m_params);
37  m_jetAlgo = new Stage2Layer2JetAlgorithmFirmwareImp1(m_params);
38  m_sumAlgo = new Stage2Layer2EtSumAlgorithmFirmwareImp1(m_params);
39  m_jetSumAlgo = new Stage2Layer2JetSumAlgorithmFirmwareImp1(m_params);
40 
41  m_demuxEGAlgo = new Stage2Layer2DemuxEGAlgoFirmwareImp1(m_params);
42  m_demuxTauAlgo = new Stage2Layer2DemuxTauAlgoFirmwareImp1(m_params);
43  m_demuxJetAlgo = new Stage2Layer2DemuxJetAlgoFirmwareImp1(m_params);
44  m_demuxSumsAlgo = new Stage2Layer2DemuxSumsAlgoFirmwareImp1(m_params);
45 
46 }
Stage2Layer2ClusterAlgorithm * m_tauClusterAlgo
Stage2TowerDecompressAlgorithm * m_towerAlgo
Stage2Layer2ClusterAlgorithm * m_egClusterAlgo
l1t::Stage2MainProcessorFirmwareImp1::~Stage2MainProcessorFirmwareImp1 ( )
virtual

Definition at line 48 of file Stage2MainProcessorImp1.cc.

49 {
50 
51 };

Member Function Documentation

void l1t::Stage2MainProcessorFirmwareImp1::print ( std::ostream &  out) const

Definition at line 101 of file Stage2MainProcessorImp1.cc.

101  {
102 
103  out << "Calo Stage 2 Main Processor" << std::endl;
104  out << " Tower algo : " << (m_towerAlgo?1:0) << std::endl;
105  out << " EG cluster algo : " << (m_egClusterAlgo?1:0) << std::endl;
106  out << " EG ID algo : " << (m_egAlgo?1:0) << std::endl;
107  out << " Tau cluster algo : " << (m_tauClusterAlgo?1:0) << std::endl;
108  out << " Tau ID algo : " << (m_tauAlgo?1:0) << std::endl;
109  out << " Jet algo : " << (m_jetAlgo?1:0) << std::endl;
110  out << " Jet sum algo : " << (m_jetSumAlgo?1:0) << std::endl;
111  out << " Sums algo : " << (m_sumAlgo?1:0) << std::endl;
112 
113 }
Stage2Layer2ClusterAlgorithm * m_tauClusterAlgo
tuple out
Definition: dbtoconf.py:99
Stage2TowerDecompressAlgorithm * m_towerAlgo
Stage2Layer2ClusterAlgorithm * m_egClusterAlgo
void l1t::Stage2MainProcessorFirmwareImp1::processEvent ( const std::vector< l1t::CaloTower > &  inTowers,
std::vector< l1t::CaloTower > &  outTowers,
std::vector< l1t::CaloCluster > &  clusters,
std::vector< l1t::EGamma > &  mpEGammas,
std::vector< l1t::Tau > &  mpTaus,
std::vector< l1t::Jet > &  mpJets,
std::vector< l1t::EtSum > &  mpSums,
std::vector< l1t::EGamma > &  egammas,
std::vector< l1t::Tau > &  taus,
std::vector< l1t::Jet > &  jets,
std::vector< l1t::EtSum > &  etSums 
)
virtual

Implements l1t::Stage2MainProcessor.

Definition at line 55 of file Stage2MainProcessorImp1.cc.

65  {
66 
67  // processing below is performed by the MP
68  std::vector<l1t::CaloCluster> egClusters;
69  std::vector<l1t::CaloCluster> tauClusters;
70  std::vector<l1t::Jet> mpAllJets;
71  std::vector<l1t::EtSum> towerSums;
72  std::vector<l1t::EtSum> jetSums;
73 
74  m_towerAlgo->processEvent( inTowers, outTowers );
75  m_egClusterAlgo->processEvent( outTowers, egClusters );
76  m_egAlgo->processEvent( egClusters, outTowers, mpEGammas );
77  m_tauClusterAlgo->processEvent( outTowers, tauClusters );
78  m_tauAlgo->processEvent( tauClusters,outTowers, mpTaus );
79  m_jetAlgo->processEvent( outTowers, mpJets, mpAllJets );
80  m_sumAlgo->processEvent( outTowers, towerSums );
81  m_jetSumAlgo->processEvent( mpAllJets, jetSums );
82 
83  clusters.insert( clusters.end(), egClusters.begin(), egClusters.end() );
84 
85  mpSums.insert( mpSums.end(), towerSums.begin(), towerSums.end() );
86  mpSums.insert( mpSums.end(), jetSums.begin(), jetSums.end() );
87 
88 
89  // processing below is actually performed by the Demux card
90  // in principle this could be done in a separate EDProduce
91  // but it is done here for flexibility
92 
93  m_demuxEGAlgo->processEvent( mpEGammas, egammas );
94  m_demuxTauAlgo->processEvent( mpTaus, taus );
95  m_demuxJetAlgo->processEvent( mpJets, jets );
96  m_demuxSumsAlgo->processEvent( mpSums, etSums );
97 
98 }
Stage2Layer2ClusterAlgorithm * m_tauClusterAlgo
virtual void processEvent(const std::vector< l1t::Jet > &inputJets, std::vector< l1t::Jet > &outputJets)=0
virtual void processEvent(const std::vector< l1t::CaloTower > &towers, std::vector< l1t::Jet > &jets, std::vector< l1t::Jet > &alljets)=0
virtual void processEvent(const std::vector< l1t::CaloCluster > &clusters, const std::vector< CaloTower > &towers, std::vector< l1t::EGamma > &egammas)=0
virtual void processEvent(const std::vector< l1t::Jet > &alljets, std::vector< l1t::EtSum > &htsums)=0
vector< PseudoJet > jets
virtual void processEvent(const std::vector< l1t::EtSum > &inputSums, std::vector< l1t::EtSum > &outputSums)=0
virtual void processEvent(const std::vector< l1t::CaloTower > &towers, std::vector< l1t::EtSum > &sums)=0
virtual void processEvent(const std::vector< l1t::CaloTower > &inTowers, std::vector< l1t::CaloTower > &outTowers)=0
virtual void processEvent(const std::vector< l1t::CaloCluster > &clusters, const std::vector< l1t::CaloTower > &towers, std::vector< l1t::Tau > &taus)=0
virtual void processEvent(const std::vector< l1t::EGamma > &inputEgammas, std::vector< l1t::EGamma > &outputEgammas)=0
Stage2TowerDecompressAlgorithm * m_towerAlgo
virtual void processEvent(const std::vector< l1t::Tau > &inputTaus, std::vector< l1t::Tau > &outputTaus)=0
virtual void processEvent(const std::vector< l1t::CaloTower > &towers, std::vector< l1t::CaloCluster > &clusters)=0
Stage2Layer2ClusterAlgorithm * m_egClusterAlgo

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  o,
const Stage2MainProcessorFirmwareImp1 p 
)
friend

Definition at line 55 of file Stage2MainProcessorFirmware.h.

Member Data Documentation

Stage2Layer2DemuxEGAlgo* l1t::Stage2MainProcessorFirmwareImp1::m_demuxEGAlgo
private

Definition at line 70 of file Stage2MainProcessorFirmware.h.

Referenced by Stage2MainProcessorFirmwareImp1().

Stage2Layer2DemuxJetAlgo* l1t::Stage2MainProcessorFirmwareImp1::m_demuxJetAlgo
private

Definition at line 72 of file Stage2MainProcessorFirmware.h.

Referenced by Stage2MainProcessorFirmwareImp1().

Stage2Layer2DemuxSumsAlgo* l1t::Stage2MainProcessorFirmwareImp1::m_demuxSumsAlgo
private

Definition at line 73 of file Stage2MainProcessorFirmware.h.

Referenced by Stage2MainProcessorFirmwareImp1().

Stage2Layer2DemuxTauAlgo* l1t::Stage2MainProcessorFirmwareImp1::m_demuxTauAlgo
private

Definition at line 71 of file Stage2MainProcessorFirmware.h.

Referenced by Stage2MainProcessorFirmwareImp1().

Stage2Layer2EGammaAlgorithm* l1t::Stage2MainProcessorFirmwareImp1::m_egAlgo
private

Definition at line 63 of file Stage2MainProcessorFirmware.h.

Referenced by Stage2MainProcessorFirmwareImp1().

Stage2Layer2ClusterAlgorithm* l1t::Stage2MainProcessorFirmwareImp1::m_egClusterAlgo
private

Definition at line 62 of file Stage2MainProcessorFirmware.h.

Referenced by Stage2MainProcessorFirmwareImp1().

Stage2Layer2JetAlgorithm* l1t::Stage2MainProcessorFirmwareImp1::m_jetAlgo
private

Definition at line 66 of file Stage2MainProcessorFirmware.h.

Referenced by Stage2MainProcessorFirmwareImp1().

Stage2Layer2JetSumAlgorithm* l1t::Stage2MainProcessorFirmwareImp1::m_jetSumAlgo
private

Definition at line 68 of file Stage2MainProcessorFirmware.h.

Referenced by Stage2MainProcessorFirmwareImp1().

CaloParamsHelper* l1t::Stage2MainProcessorFirmwareImp1::m_params
private

Definition at line 59 of file Stage2MainProcessorFirmware.h.

Referenced by Stage2MainProcessorFirmwareImp1().

Stage2Layer2EtSumAlgorithm* l1t::Stage2MainProcessorFirmwareImp1::m_sumAlgo
private

Definition at line 67 of file Stage2MainProcessorFirmware.h.

Referenced by Stage2MainProcessorFirmwareImp1().

Stage2Layer2TauAlgorithm* l1t::Stage2MainProcessorFirmwareImp1::m_tauAlgo
private

Definition at line 65 of file Stage2MainProcessorFirmware.h.

Referenced by Stage2MainProcessorFirmwareImp1().

Stage2Layer2ClusterAlgorithm* l1t::Stage2MainProcessorFirmwareImp1::m_tauClusterAlgo
private

Definition at line 64 of file Stage2MainProcessorFirmware.h.

Referenced by Stage2MainProcessorFirmwareImp1().

Stage2TowerDecompressAlgorithm* l1t::Stage2MainProcessorFirmwareImp1::m_towerAlgo
private

Definition at line 61 of file Stage2MainProcessorFirmware.h.

Referenced by Stage2MainProcessorFirmwareImp1().