Skip to content

Commit

Permalink
Merge pull request #16967 from cms-l1t-offline/pr90x-l1t-integration-…
Browse files Browse the repository at this point in the history
…v89.15

Pr90x l1t integration (v89.15) fix SumEt, uGT prescales, memory leaks, clean-up
  • Loading branch information
cmsbuild committed Dec 12, 2016
2 parents dfdfe28 + 231a99b commit 4f05b52
Show file tree
Hide file tree
Showing 34 changed files with 2,191 additions and 151 deletions.
Expand Up @@ -36,7 +36,7 @@ namespace l1t
return (value == 0);
}

bool unpacking(const Block& block, UnpackerCollections *coll, std::map<int, qualityHits>& linkAndQual_, const bool& isNewFw)
bool unpacking(const Block& block, UnpackerCollections *coll, qualityHits& linkAndQual_, const bool& isNewFw)
{

unsigned int ownLinks[] = {4,5,12,13,20,21,22,23,28,29};
Expand Down Expand Up @@ -136,16 +136,20 @@ namespace l1t
for (int i = 0; i < 3; i++)
{
if (zeroFlag[i])
theData.push_back(L1MuDTChambThDigi( ibx, wheel, sector, i+1, etaHits[i], linkAndQual_[blockId/2 - 1].hits[i]) );
theData.push_back(L1MuDTChambThDigi( ibx, wheel, sector, i+1, etaHits[i], linkAndQual_.hits[i]) );
}

}
else
{
/*
qualityHits temp;
temp.linkNo = blockId/2;
std::copy(&etaHits[0][0], &etaHits[0][0]+3*7,&temp.hits[0][0]);
linkAndQual_[blockId/2] = temp;
*/
linkAndQual_.linkNo = blockId/2;
std::copy(&etaHits[0][0], &etaHits[0][0]+3*7,&linkAndQual_.hits[0][0]);
}

}//ibx
Expand Down
Expand Up @@ -15,15 +15,17 @@ namespace l1t{
public:
virtual bool unpack(const Block& block, UnpackerCollections *coll) override;
private:
std::map<int, qualityHits> linkAndQual_;
qualityHits linkAndQual_;
//std::map<int, qualityHits> linkAndQual_;
};

class BMTFUnpackerInputsNewQual : public Unpacker
{
public:
virtual bool unpack(const Block& block, UnpackerCollections *coll) override;
private:
std::map<int, qualityHits> linkAndQual_;
qualityHits linkAndQual_;
//std::map<int, qualityHits> linkAndQual_;
};

}
Expand Down
Expand Up @@ -82,7 +82,7 @@ namespace stage2 {
raw_data = block.payload()[iFrame+1];

l1t::EtSum ht = l1t::EtSum();

ht.setHwPt(raw_data & 0xFFF);
ht.setType(l1t::EtSum::kTotalHt);
ht.setP4( l1t::CaloTools::p4Demux(&ht) );
Expand All @@ -91,15 +91,6 @@ namespace stage2 {

res_->push_back(bx,ht);


//HI-SUM

l1t::EtSum towCount = l1t::EtSum();
towCount.setHwPt( (raw_data>>12) & 0x1FFF );
towCount.setType( (l1t::EtSum::kTowerCount) );

res_->push_back(bx, towCount);

//MBHFMT0

l1t::EtSum mbm0 = l1t::EtSum();
Expand Down Expand Up @@ -170,7 +161,7 @@ namespace stage2 {
LogDebug("L1T") << "METHF: phi " << methf.hwPhi() << " pT " << methf.hwPt() << " bx " << bx;

res_->push_back(bx,methf);

// MHT with HF

raw_data = block.payload()[iFrame+5];
Expand All @@ -185,8 +176,19 @@ namespace stage2 {
LogDebug("L1T") << "MHThf: phi " << mhthf.hwPhi() << " pT " << mhthf.hwPt() << " bx " << bx;

res_->push_back(bx,mhthf);

//HI-SUM


raw_data = block.payload()[iFrame+1];

l1t::EtSum towCount = l1t::EtSum();
towCount.setHwPt( (raw_data>>12) & 0x1FFF );
towCount.setType( (l1t::EtSum::kTowerCount) );
towCount.setP4( l1t::CaloTools::p4Demux(&towCount) );

res_->push_back(bx, towCount);


}

return true;
Expand Down
Expand Up @@ -55,7 +55,7 @@ namespace stage2 {
switch(block.header().getID()){
case 123: // 61
ethf.setType(l1t::EtSum::kTotalEtHF);
ethf.setHwPt( static_cast<int32_t>( uint32_t(raw_data & 0xFFFFFF) << 16 ) >> 16 );
ethf.setHwPt( static_cast<int32_t>( uint32_t(raw_data & 0xFFFF)) );
break;
case 121: // 60
ethf.setType(l1t::EtSum::kTotalEtxHF);
Expand All @@ -67,7 +67,7 @@ namespace stage2 {
break;
case 125: // 62
ethf.setType(l1t::EtSum::kTotalEtHF);
ethf.setHwPt( static_cast<int32_t>( uint32_t(raw_data & 0xFFFFFF) << 16 ) >> 16 );
ethf.setHwPt( static_cast<int32_t>( uint32_t(raw_data & 0xFFFF)) );
break;
case 131: // 65
ethf.setType(l1t::EtSum::kTotalEtxHF);
Expand Down Expand Up @@ -95,7 +95,7 @@ namespace stage2 {
switch(block.header().getID()){
case 123: // 61
etNoHF.setType(l1t::EtSum::kTotalEt);
etNoHF.setHwPt( static_cast<int32_t>( uint32_t(raw_data & 0xFFFFFF) << 16 ) >> 16 );
etNoHF.setHwPt( static_cast<int32_t>( uint32_t(raw_data & 0xFFFF)) );
break;
case 121: // 60
etNoHF.setType(l1t::EtSum::kTotalEtx);
Expand All @@ -107,7 +107,7 @@ namespace stage2 {
break;
case 125: // 62
etNoHF.setType(l1t::EtSum::kTotalEt);
etNoHF.setHwPt( static_cast<int32_t>( uint32_t(raw_data & 0xFFFFFF) << 16 ) >> 16 );
etNoHF.setHwPt( static_cast<int32_t>( uint32_t(raw_data & 0xFFFF)) );
break;
case 131: // 65
etNoHF.setType(l1t::EtSum::kTotalEtx);
Expand Down Expand Up @@ -135,7 +135,7 @@ namespace stage2 {
switch(block.header().getID()){
case 123: // 61
hthf.setType(l1t::EtSum::kTotalHtHF);
hthf.setHwPt( static_cast<int32_t>( uint32_t(raw_data & 0xFFFFFF) << 16 ) >> 16 );
hthf.setHwPt( static_cast<int32_t>( uint32_t(raw_data & 0xFFFF)) );
break;
case 121: // 60
hthf.setType(l1t::EtSum::kTotalHtxHF);
Expand All @@ -147,7 +147,7 @@ namespace stage2 {
break;
case 125: // 62
hthf.setType(l1t::EtSum::kTotalHtHF);
hthf.setHwPt( static_cast<int32_t>( uint32_t(raw_data & 0xFFFFFF) << 16 ) >> 16 );
hthf.setHwPt( static_cast<int32_t>( uint32_t(raw_data & 0xFFFF)) );
break;
case 131: // 65
hthf.setType(l1t::EtSum::kTotalHtxHF);
Expand Down Expand Up @@ -175,7 +175,7 @@ namespace stage2 {
switch(block.header().getID()){
case 123: // 61
htNoHF.setType(l1t::EtSum::kTotalHt);
htNoHF.setHwPt( static_cast<int32_t>( uint32_t(raw_data & 0xFFFFFF) << 16 ) >> 16 );
htNoHF.setHwPt( static_cast<int32_t>( uint32_t(raw_data & 0xFFFF)) );
break;
case 121: // 60
htNoHF.setType(l1t::EtSum::kTotalHtx);
Expand All @@ -187,7 +187,7 @@ namespace stage2 {
break;
case 125: // 62
htNoHF.setType(l1t::EtSum::kTotalHt);
htNoHF.setHwPt( static_cast<int32_t>( uint32_t(raw_data & 0xFFFFFF) << 16 ) >> 16 );
htNoHF.setHwPt( static_cast<int32_t>( uint32_t(raw_data & 0xFFFF)) );
break;
case 131: // 65
htNoHF.setType(l1t::EtSum::kTotalHtx);
Expand Down
Expand Up @@ -66,7 +66,7 @@ namespace stage2 {
switch(block.header().getID()){
case 123: // 61
ethf.setType(l1t::EtSum::kTotalEtHF);
ethf.setHwPt( static_cast<int32_t>( uint32_t(raw_data & 0xFFFFFF) << 16 ) >> 16 );
ethf.setHwPt( static_cast<int32_t>( uint32_t(raw_data & 0xFFFF)) );
break;
case 121: // 60
ethf.setType(l1t::EtSum::kTotalEtxHF);
Expand All @@ -78,7 +78,7 @@ namespace stage2 {
break;
case 125: // 62
ethf.setType(l1t::EtSum::kTotalEtHF);
ethf.setHwPt( static_cast<int32_t>( uint32_t(raw_data & 0xFFFFFF) << 16 ) >> 16 );
ethf.setHwPt( static_cast<int32_t>( uint32_t(raw_data & 0xFFFF)) );
break;
case 131: // 65
ethf.setType(l1t::EtSum::kTotalEtxHF);
Expand All @@ -102,11 +102,12 @@ namespace stage2 {
raw_data = block.payload()[fet + 1];

l1t::EtSum etNoHF = l1t::EtSum();
l1t::EtSum etEm = l1t::EtSum();

switch(block.header().getID()){
case 123: // 61
etNoHF.setType(l1t::EtSum::kTotalEt);
etNoHF.setHwPt( static_cast<int32_t>( uint32_t(raw_data & 0xFFFFFF) << 16 ) >> 16 );
etNoHF.setHwPt( static_cast<int32_t>( uint32_t(raw_data & 0xFFFF)) );
break;
case 121: // 60
etNoHF.setType(l1t::EtSum::kTotalEtx);
Expand All @@ -118,7 +119,7 @@ namespace stage2 {
break;
case 125: // 62
etNoHF.setType(l1t::EtSum::kTotalEt);
etNoHF.setHwPt( static_cast<int32_t>( uint32_t(raw_data & 0xFFFFFF) << 16 ) >> 16 );
etNoHF.setHwPt( static_cast<int32_t>( uint32_t(raw_data & 0xFFFF)) );
break;
case 131: // 65
etNoHF.setType(l1t::EtSum::kTotalEtx);
Expand All @@ -135,6 +136,15 @@ namespace stage2 {
LogDebug("L1T") << "ET/METx/METy (no HF): pT " << etNoHF.hwPt();

res2_->push_back(0,etNoHF);


// ET EM
if(block.header().getID()==123 || block.header().getID()==125){
etEm.setType(l1t::EtSum::kTotalEtEm);
etEm.setHwPt( static_cast<int32_t>( uint32_t( ( raw_data >> 16 ) & 0xFFFF )) );
res2_->push_back(0,etEm);

}


// HT / MHT(x)/ MHT (y) with HF
Expand All @@ -146,7 +156,7 @@ namespace stage2 {
switch(block.header().getID()){
case 123: // 61
hthf.setType(l1t::EtSum::kTotalHtHF);
hthf.setHwPt( static_cast<int32_t>( uint32_t(raw_data & 0xFFFFFF) << 16 ) >> 16 );
hthf.setHwPt( static_cast<int32_t>( uint32_t(raw_data & 0xFFFF)) );
break;
case 121: // 60
hthf.setType(l1t::EtSum::kTotalHtxHF);
Expand All @@ -158,7 +168,7 @@ namespace stage2 {
break;
case 125: // 62
hthf.setType(l1t::EtSum::kTotalHtHF);
hthf.setHwPt( static_cast<int32_t>( uint32_t(raw_data & 0xFFFFFF) << 16 ) >> 16 );
hthf.setHwPt( static_cast<int32_t>( uint32_t(raw_data & 0xFFFF)) );
break;
case 131: // 65
hthf.setType(l1t::EtSum::kTotalHtxHF);
Expand Down Expand Up @@ -186,7 +196,7 @@ namespace stage2 {
switch(block.header().getID()){
case 123: // 61
htNoHF.setType(l1t::EtSum::kTotalHt);
htNoHF.setHwPt( static_cast<int32_t>( uint32_t(raw_data & 0xFFFFFF) << 16 ) >> 16 );
htNoHF.setHwPt( static_cast<int32_t>( uint32_t(raw_data & 0xFFFF)) );
break;
case 121: // 60
htNoHF.setType(l1t::EtSum::kTotalHtx);
Expand All @@ -198,7 +208,7 @@ namespace stage2 {
break;
case 125: // 62
htNoHF.setType(l1t::EtSum::kTotalHt);
htNoHF.setHwPt( static_cast<int32_t>( uint32_t(raw_data & 0xFFFFFF) << 16 ) >> 16 );
htNoHF.setHwPt( static_cast<int32_t>( uint32_t(raw_data & 0xFFFF)) );
break;
case 131: // 65
htNoHF.setType(l1t::EtSum::kTotalHtx);
Expand Down
8 changes: 8 additions & 0 deletions L1Trigger/Configuration/python/customiseSettings.py
@@ -1,6 +1,14 @@
import os.path
import FWCore.ParameterSet.Config as cms

def L1TSettingsToCaloStage2Params_v3_3_1_HI(process):
process.load("L1Trigger.L1TCalorimeter.caloStage2Params_2016_v3_3_1_HI_cfi")
return process

def L1TSettingsToCaloStage2Params_v3_3_1(process):
process.load("L1Trigger.L1TCalorimeter.caloStage2Params_2016_v3_3_1_cfi")
return process

def L1TSettingsToCaloStage2Params_v3_3_HI(process):
process.load("L1Trigger.L1TCalorimeter.caloStage2Params_2016_v3_3_HI_cfi")
return process
Expand Down

0 comments on commit 4f05b52

Please sign in to comment.