Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CTPPS: diamond mapping for 2017 data taking #18490

Merged
merged 8 commits into from May 3, 2017
Merged
129 changes: 129 additions & 0 deletions CondFormats/CTPPSReadoutObjects/xml/mapping_timing_diamond_2017.xml
@@ -0,0 +1,129 @@
<top>
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hello @forthommel

are you planning on moving this mapping content to the conditions database ?

I guess you need CTPPSPixelDAQMappingRcd
to be provided to you from this parallel pr https://github.com/cms-sw/cmssw/pull/18359/files#diff-03e8ca1cea42e0df6e5deb53fc5dd4be ?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we're looking at #18359 in parallel

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @franzoni
As noted in #18490 (comment), this PR only tackles the diamond detectors part (and not the pixel detectors using this CTPPSPixelDAQMappingRcd record). Hence, a follow-up is indeed expected for the migration of this xml mapping to the conditions db!

<arm id="0"> <!-- 45 -->
<station id="1"> <!-- 215 m -->
<rp_detector_set id="6"> <!-- Timing -->
<rp_plane_diamond id="0">
<diamond_channel id="0" hw_id="0x106" FEDId="583" GOHId="1" IdxInFiber="6"/>
<diamond_channel id="1" hw_id="0x105" FEDId="583" GOHId="1" IdxInFiber="5"/>
<diamond_channel id="2" hw_id="0x104" FEDId="583" GOHId="1" IdxInFiber="4"/>
<diamond_channel id="3" hw_id="0x103" FEDId="583" GOHId="1" IdxInFiber="3"/>
<diamond_channel id="4" hw_id="0x102" FEDId="583" GOHId="1" IdxInFiber="2"/>
<diamond_channel id="5" hw_id="0x101" FEDId="583" GOHId="1" IdxInFiber="1"/>
<diamond_channel id="6" hw_id="0x100" FEDId="583" GOHId="1" IdxInFiber="0"/>
<diamond_channel id="7" hw_id="0x10E" FEDId="583" GOHId="1" IdxInFiber="14"/>
<diamond_channel id="8" hw_id="0x10D" FEDId="583" GOHId="1" IdxInFiber="13"/>
<diamond_channel id="9" hw_id="0x10C" FEDId="583" GOHId="1" IdxInFiber="12"/>
<diamond_channel id="10" hw_id="0x10B" FEDId="583" GOHId="1" IdxInFiber="11"/>
<diamond_channel id="11" hw_id="0x10A" FEDId="583" GOHId="1" IdxInFiber="10"/>
</rp_plane_diamond>
<rp_plane_diamond id="1">
<diamond_channel id="0" hw_id="0x116" FEDId="583" GOHId="2" IdxInFiber="6"/>
<diamond_channel id="1" hw_id="0x115" FEDId="583" GOHId="2" IdxInFiber="5"/>
<diamond_channel id="2" hw_id="0x114" FEDId="583" GOHId="2" IdxInFiber="4"/>
<diamond_channel id="3" hw_id="0x113" FEDId="583" GOHId="2" IdxInFiber="3"/>
<diamond_channel id="4" hw_id="0x112" FEDId="583" GOHId="2" IdxInFiber="2"/>
<diamond_channel id="5" hw_id="0x111" FEDId="583" GOHId="2" IdxInFiber="1"/>
<diamond_channel id="6" hw_id="0x110" FEDId="583" GOHId="2" IdxInFiber="0"/>
<diamond_channel id="7" hw_id="0x11E" FEDId="583" GOHId="2" IdxInFiber="14"/>
<diamond_channel id="8" hw_id="0x11D" FEDId="583" GOHId="2" IdxInFiber="13"/>
<diamond_channel id="9" hw_id="0x11C" FEDId="583" GOHId="2" IdxInFiber="12"/>
<diamond_channel id="10" hw_id="0x11B" FEDId="583" GOHId="2" IdxInFiber="11"/>
<diamond_channel id="11" hw_id="0x11A" FEDId="583" GOHId="2" IdxInFiber="10"/>
<diamond_channel id="30" hw_id="0x11F" FEDId="583" GOHId="2" IdxInFiber="15"/>
</rp_plane_diamond>
<rp_plane_diamond id="2">
<diamond_channel id="0" hw_id="0x206" FEDId="583" GOHId="3" IdxInFiber="6"/>
<diamond_channel id="1" hw_id="0x205" FEDId="583" GOHId="3" IdxInFiber="5"/>
<diamond_channel id="2" hw_id="0x204" FEDId="583" GOHId="3" IdxInFiber="4"/>
<diamond_channel id="3" hw_id="0x203" FEDId="583" GOHId="3" IdxInFiber="3"/>
<diamond_channel id="4" hw_id="0x202" FEDId="583" GOHId="3" IdxInFiber="2"/>
<diamond_channel id="5" hw_id="0x201" FEDId="583" GOHId="3" IdxInFiber="1"/>
<diamond_channel id="6" hw_id="0x200" FEDId="583" GOHId="3" IdxInFiber="0"/>
<diamond_channel id="7" hw_id="0x20E" FEDId="583" GOHId="3" IdxInFiber="14"/>
<diamond_channel id="8" hw_id="0x20D" FEDId="583" GOHId="3" IdxInFiber="13"/>
<diamond_channel id="9" hw_id="0x20C" FEDId="583" GOHId="3" IdxInFiber="12"/>
<diamond_channel id="10" hw_id="0x20B" FEDId="583" GOHId="3" IdxInFiber="11"/>
<diamond_channel id="11" hw_id="0x20A" FEDId="583" GOHId="3" IdxInFiber="10"/>
</rp_plane_diamond>
<rp_plane_diamond id="3"> <!-- UFSD -->
<diamond_channel id="0" hw_id="0x216" FEDId="583" GOHId="4" IdxInFiber="6"/>
<diamond_channel id="1" hw_id="0x215" FEDId="583" GOHId="4" IdxInFiber="5"/>
<diamond_channel id="2" hw_id="0x214" FEDId="583" GOHId="4" IdxInFiber="4"/>
<diamond_channel id="3" hw_id="0x213" FEDId="583" GOHId="4" IdxInFiber="3"/>
<diamond_channel id="4" hw_id="0x212" FEDId="583" GOHId="4" IdxInFiber="2"/>
<diamond_channel id="5" hw_id="0x211" FEDId="583" GOHId="4" IdxInFiber="1"/>
<diamond_channel id="6" hw_id="0x210" FEDId="583" GOHId="4" IdxInFiber="0"/>
<diamond_channel id="7" hw_id="0x21E" FEDId="583" GOHId="4" IdxInFiber="14"/>
<diamond_channel id="8" hw_id="0x21D" FEDId="583" GOHId="4" IdxInFiber="13"/>
<diamond_channel id="9" hw_id="0x21C" FEDId="583" GOHId="4" IdxInFiber="12"/>
<diamond_channel id="10" hw_id="0x21B" FEDId="583" GOHId="4" IdxInFiber="11"/>
<diamond_channel id="11" hw_id="0x21A" FEDId="583" GOHId="4" IdxInFiber="10"/>
<diamond_channel id="30" hw_id="0x21F" FEDId="583" GOHId="4" IdxInFiber="15"/>
</rp_plane_diamond>
</rp_detector_set>
</station>
</arm>
<arm id="1"> <!-- 56 -->
<station id="1"> <!-- 215 m -->
<rp_detector_set id="6"> <!-- Timing -->
<rp_plane_diamond id="0">
<diamond_channel id="0" hw_id="0x306" FEDId="582" GOHId="7" IdxInFiber="6"/>
<diamond_channel id="1" hw_id="0x305" FEDId="582" GOHId="7" IdxInFiber="5"/>
<diamond_channel id="2" hw_id="0x304" FEDId="582" GOHId="7" IdxInFiber="4"/>
<diamond_channel id="3" hw_id="0x303" FEDId="582" GOHId="7" IdxInFiber="3"/>
<diamond_channel id="4" hw_id="0x302" FEDId="582" GOHId="7" IdxInFiber="2"/>
<diamond_channel id="5" hw_id="0x301" FEDId="582" GOHId="7" IdxInFiber="1"/>
<diamond_channel id="6" hw_id="0x300" FEDId="582" GOHId="7" IdxInFiber="0"/>
<diamond_channel id="7" hw_id="0x30E" FEDId="582" GOHId="7" IdxInFiber="14"/>
<diamond_channel id="8" hw_id="0x30D" FEDId="582" GOHId="7" IdxInFiber="13"/>
<diamond_channel id="9" hw_id="0x30C" FEDId="582" GOHId="7" IdxInFiber="12"/>
<diamond_channel id="10" hw_id="0x30B" FEDId="582" GOHId="7" IdxInFiber="11"/>
<diamond_channel id="11" hw_id="0x30A" FEDId="582" GOHId="7" IdxInFiber="10"/>
</rp_plane_diamond>
<rp_plane_diamond id="1">
<diamond_channel id="0" hw_id="0x309" FEDId="582" GOHId="7" IdxInFiber="9"/> <!-- relocated for problem with HPTDC -->
<diamond_channel id="1" hw_id="0x308" FEDId="582" GOHId="7" IdxInFiber="8"/> <!-- relocated for problem with HPTDC -->
<diamond_channel id="2" hw_id="0x319" FEDId="582" GOHId="8" IdxInFiber="9"/> <!-- relocated for problem with HPTDC -->
<diamond_channel id="3" hw_id="0x318" FEDId="582" GOHId="8" IdxInFiber="8"/> <!-- relocated for problem with HPTDC -->
<diamond_channel id="4" hw_id="0x409" FEDId="582" GOHId="3" IdxInFiber="9"/> <!-- relocated for problem with HPTDC -->
<diamond_channel id="5" hw_id="0x408" FEDId="582" GOHId="3" IdxInFiber="8"/> <!-- relocated for problem with HPTDC -->
<diamond_channel id="6" hw_id="0x310" FEDId="582" GOHId="8" IdxInFiber="0"/>
<diamond_channel id="7" hw_id="0x31E" FEDId="582" GOHId="8" IdxInFiber="14"/>
<diamond_channel id="8" hw_id="0x31D" FEDId="582" GOHId="8" IdxInFiber="13"/>
<diamond_channel id="9" hw_id="0x31C" FEDId="582" GOHId="8" IdxInFiber="12"/>
<diamond_channel id="10" hw_id="0x31B" FEDId="582" GOHId="8" IdxInFiber="11"/>
<diamond_channel id="11" hw_id="0x31A" FEDId="582" GOHId="8" IdxInFiber="10"/>
<diamond_channel id="30" hw_id="0x31F" FEDId="582" GOHId="8" IdxInFiber="15"/>
</rp_plane_diamond>
<rp_plane_diamond id="2">
<diamond_channel id="0" hw_id="0x406" FEDId="582" GOHId="3" IdxInFiber="6"/>
<diamond_channel id="1" hw_id="0x405" FEDId="582" GOHId="3" IdxInFiber="5"/>
<diamond_channel id="2" hw_id="0x404" FEDId="582" GOHId="3" IdxInFiber="4"/>
<diamond_channel id="3" hw_id="0x403" FEDId="582" GOHId="3" IdxInFiber="3"/>
<diamond_channel id="4" hw_id="0x402" FEDId="582" GOHId="3" IdxInFiber="2"/>
<diamond_channel id="5" hw_id="0x401" FEDId="582" GOHId="3" IdxInFiber="1"/>
<diamond_channel id="6" hw_id="0x400" FEDId="582" GOHId="3" IdxInFiber="0"/>
<diamond_channel id="7" hw_id="0x40E" FEDId="582" GOHId="3" IdxInFiber="14"/>
<diamond_channel id="8" hw_id="0x40D" FEDId="582" GOHId="3" IdxInFiber="13"/>
<diamond_channel id="9" hw_id="0x40C" FEDId="582" GOHId="3" IdxInFiber="12"/>
<diamond_channel id="10" hw_id="0x40B" FEDId="582" GOHId="3" IdxInFiber="11"/>
<diamond_channel id="11" hw_id="0x40A" FEDId="582" GOHId="3" IdxInFiber="10"/>
</rp_plane_diamond>
<rp_plane_diamond id="3"> <!-- UFSD -->
<diamond_channel id="0" hw_id="0x416" FEDId="582" GOHId="4" IdxInFiber="6"/>
<diamond_channel id="1" hw_id="0x415" FEDId="582" GOHId="4" IdxInFiber="5"/>
<diamond_channel id="2" hw_id="0x414" FEDId="582" GOHId="4" IdxInFiber="4"/>
<diamond_channel id="3" hw_id="0x413" FEDId="582" GOHId="4" IdxInFiber="3"/>
<diamond_channel id="4" hw_id="0x412" FEDId="582" GOHId="4" IdxInFiber="2"/>
<diamond_channel id="5" hw_id="0x411" FEDId="582" GOHId="4" IdxInFiber="1"/>
<diamond_channel id="6" hw_id="0x410" FEDId="582" GOHId="4" IdxInFiber="0"/>
<diamond_channel id="7" hw_id="0x41E" FEDId="582" GOHId="4" IdxInFiber="14"/>
<diamond_channel id="8" hw_id="0x41D" FEDId="582" GOHId="4" IdxInFiber="13"/>
<diamond_channel id="9" hw_id="0x41C" FEDId="582" GOHId="4" IdxInFiber="12"/>
<diamond_channel id="10" hw_id="0x41B" FEDId="582" GOHId="4" IdxInFiber="11"/>
<diamond_channel id="11" hw_id="0x41A" FEDId="582" GOHId="4" IdxInFiber="10"/>
<diamond_channel id="30" hw_id="0x41F" FEDId="582" GOHId="4" IdxInFiber="15"/>
</rp_plane_diamond>
</rp_detector_set>
</station>
</arm>
8 changes: 2 additions & 6 deletions DataFormats/CTPPSDetId/interface/CTPPSDiamondDetId.h
Expand Up @@ -86,7 +86,7 @@ class CTPPSDiamondDetId : public CTPPSDetId
case nPath: rpName(name, flag); name += "/plane "; break;
}

name += planeNames[plane()];
name += std::to_string(plane());
}

inline void channelName(std::string &name, NameFlag flag = nFull) const
Expand All @@ -98,12 +98,8 @@ class CTPPSDiamondDetId : public CTPPSDetId
case nPath: planeName(name, flag); name += "/channel "; break;
}

name += channelNames[channel()];
name += std::to_string(channel());
}

private:
static const std::string planeNames[];
static const std::string channelNames[];
};

std::ostream& operator<<(std::ostream& os, const CTPPSDiamondDetId& id);
Expand Down
5 changes: 1 addition & 4 deletions DataFormats/CTPPSDetId/src/CTPPSDiamondDetId.cc
Expand Up @@ -13,10 +13,7 @@ using namespace std;
//----------------------------------------------------------------------------------------------------

const uint32_t CTPPSDiamondDetId::startPlaneBit = 17, CTPPSDiamondDetId::maskPlane = 0x3, CTPPSDiamondDetId::maxPlane = 3, CTPPSDiamondDetId::lowMaskPlane = 0x1FFFF;
const uint32_t CTPPSDiamondDetId::startDetBit = 12, CTPPSDiamondDetId::maskChannel = 0x1F, CTPPSDiamondDetId::maxChannel = 11, CTPPSDiamondDetId::lowMaskChannel = 0xFFF;

const string CTPPSDiamondDetId::planeNames[] = { "0", "1", "2", "3" };
const string CTPPSDiamondDetId::channelNames[] = { "0", "1", "2", "3", "4", "05", "06", "07", "08", "09", "10", "11" };
const uint32_t CTPPSDiamondDetId::startDetBit = 12, CTPPSDiamondDetId::maskChannel = 0x1F, CTPPSDiamondDetId::maxChannel = 31, CTPPSDiamondDetId::lowMaskChannel = 0xFFF;

//----------------------------------------------------------------------------------------------------

Expand Down
Expand Up @@ -3,5 +3,9 @@
from EventFilter.CTPPSRawToDigi.totemVFATRawToDigi_cfi import totemVFATRawToDigi

ctppsDiamondRawToDigi = totemVFATRawToDigi.clone(
subSystem = cms.string('TimingDiamond')
subSystem = cms.string('TimingDiamond'),
RawToDigi = totemVFATRawToDigi.RawToDigi.clone(
testCRC = cms.uint32(0), # no need to test CRC for diamond frames
testECMostFrequent = cms.uint32(0) # show error in the DQM and then DAQ is sending resync, no need to test in the unpacker
)
)
14 changes: 9 additions & 5 deletions EventFilter/CTPPSRawToDigi/python/ctppsRawToDigi_cff.py
Expand Up @@ -54,26 +54,30 @@
verbosity = cms.untracked.uint32(0),
subSystem = cms.untracked.string("TimingDiamond"),
configuration = cms.VPSet(
# before diamonds inserted in DAQ
# 2016, before diamonds inserted in DAQ
cms.PSet(
validityRange = cms.EventRange("1:min - 283819:max"),
mappingFileNames = cms.vstring(),
maskFileNames = cms.vstring()
),
# after diamonds inserted in DAQ
# 2016, after diamonds inserted in DAQ
cms.PSet(
validityRange = cms.EventRange("283820:min - 999999999:max"),
validityRange = cms.EventRange("283820:min - 292520:max"),
mappingFileNames = cms.vstring("CondFormats/CTPPSReadoutObjects/xml/mapping_timing_diamond.xml"),
maskFileNames = cms.vstring()
),
# 2017
cms.PSet(
validityRange = cms.EventRange("292521:min - 999999999:max"),
mappingFileNames = cms.vstring("CondFormats/CTPPSReadoutObjects/xml/mapping_timing_diamond_2017.xml"),
maskFileNames = cms.vstring()
)
)
)

from EventFilter.CTPPSRawToDigi.ctppsDiamondRawToDigi_cfi import ctppsDiamondRawToDigi
ctppsDiamondRawToDigi.rawDataTag = cms.InputTag("rawDataCollector")

ctppsDiamondRawToDigi.RawToDigi.testCRC = 0 # no need to test CRC for diamonds



# ---------- pixels ----------
Expand Down