Tips and Tricks in P5

Tips and Tricks for taking Runs

Global Runs: RCMS Level0

Operating MiniDAQ
  • if RCMS is crashed, we can restart it as pro thanks to utils/restartrcmspro script
  • MiniDAQ is controled by Level0 of ECAL-RCMS: http://cmsrc-ecal:15000
    • create/attach the Level0 configuration in /ecalpro/Global_Runs/PrivGlob/
  • for the key, we use for:
    • ECAL: Cosmics-SR (selective readout), Cosmics-ZS (zero suppression) or Cosmics (full readout)
    • Trigger : ExpertMode
    • DAQ : Tier0_transfert_on if you want to store the run
  • select the FED you want to control by clicking on FED & TTS at the top of page
  • once initialized, getready, configured, don't forget to set the trigger algo in the trigger cell (see next item)
  • Tips1: when we need to reconfigure, the reset button of the miniDAQ is useless. Configure instead each subsystem one by one.
  • Tips2: to see if the data are really written:
    • click on Status Table (top left)
    • search for /levelZeroFMtest/DAQFM/HLTSFM/StorageManager and click on the corresponding XDAQ application
    • the SM status is displayed ; go to the bottom of the page and click on "Streamer Output Status web page"

Operating Trigger Cell
Setting up a trigger key:
  • click on jspgui on the top of the page
  • find you favorite key and click on make current
    • example TSC_000406_081006_MIDWEEK2008_GTgtstartuprand_ECAL to use random triggers and send E_Hardcoded to ECAL)
  • if you want to create a new key:
    • use one which is as close as possible to your final configuration
    • click on duplicate
    • and edit the parameters .. I think that we need to use the arrows on the top of the page. not sure though.

Enabling trigger algo or add random/calibration:
  • click on GT Cell
  • Go to Trigger Supervisor > Control Panels > Configuration
  • click for exampl on "Random", set the prescale, and don't forget to validate random ON

Knowing which bits were active for a given run
there are 2 ways: 2nd way using trigger cell:
  • in trigger cell, click on Control Panel > GT run settings
  • type the run nb in the field

TCC debug test in local readout
  • start RCMS (http://cmsrc-ecal:15000) with login: ecalpro
  • Use LocalReadout/Default and one of the channel free
  • Intialize, select supermodules
  • Configure with key: Pedestal-TCC_TTCci
  • It takes 'pedestal' type run: burst of 3x300 events
  • As soon as the run is finished, the data are in pc 25 (as ecalpro) /data/ecalod-disk01/daq-data/sm/00/closed
  • Then transfer the file:
    • login pc 25 as paganini
    • cp /data/ecalod-disk01/daq-data/sm/00/closed/xxx .
    • login lxplus and scp cmsusr6:xxx .

interconnection test
Probably obsolete...
  • start RCMS
    • firefox RCMS (http://cmsrc-ecal:15000) with login: ecalpro
    • choose TestSystem and click on create or attach if the application is already created.
    • then choose Pattern_test and SLB_RCT_cable_Test
  • start TS
    • firefox ecalod-ts.cms:1977
    • click on Cell
    • click in control on interconnectionTest
    • click on prepare

if the TS was not already active, need to start the trigger:

  • firefox cmsrc-trigger.cms:19000/rcms, login triggerpro
  • choose TSProcessCtrl and ECAL, configuration ECAL_v02
  • click on create
  • click on initialize and refresh

MIPs test with SM
  • start RCMS
    • firefox RCMS (http://cmsrc-ecal:15000) with login: ecalpro
    • For Global DAQ: choose Global_Runs, GREN, GREN_v2 and click on create or attach if the application is already created.
    • For Local DAQ: choose LocalReadout/Barrel_Ch4 and click on create or attach if the application is already created.
    • click on initialize
    • select FEDids in the EB panel, the corresponding TTCci and click on "Submit" on the right side of the panel
    • For the key, choose MipTrigger if local readout or Cosmic if mini/cDAQ (GT providing trigger)
    • click on configure
    • click on Refresh

If for any reason, the reset button has been clicked, don't forget to refresh the page with the refresh button

Getting data from runs
  • connect on 25 as ecalpro
  • data are in /data/disk1a/lookarea/
  • to check if data are being transfered to DBS do:

Connecting on surface PC
  • login: ecalshift

Using chainsaw/Handsaw

Chainsaw (probably obsolete)
as ecaldev:
  • login ecalod-03 or cmsusr0
  • type chainsaw
  • click on "let me search.." and ok
  • to select messages concerning only TCCBarrelSupervisor, in the field "refine focus" type: logger ~= TCCBarrelSupervisor

Simpler, using a ssh tunnel:

  • in my computer, execute ~/Config/Tunnel/chainsaw.csh
  • in spotlight search for 'chainsaw' and double click

  • as paganini: | grep ERROR -B 1 -A 5

Using DQM

Reminder about DQM
  • ECAL DQM live has all events: http://ecalod-web01.cms:8030/dqm/ecal/ (during the run)
  • ECAL DQM off-line has only physics events in the first few lumi sessions: http://ecalod-web01.cms:8030/dqm/ecal/ (after the run)
  • CMS DQM has all events from DQM stream: DQM experts say "Online DQM has much more events than Express stream (at least a factor 10 in rate). This is contrary to common wisdom, but still true. It is usually more or less like streamA + calibrations, but we (will) start prescaling earlier than streamA with a target rate of 100 to 150 Hz. (The event rate consumed by the fastest applications in DQM is about 100 Hz and we would like to retain rare physics such as high-pt objects, muons etc. from getting sampled away.)"

Using DQM
  • go to and click on 'Online DQM GUI Display' or the link below
  • in the Workspace tab, select the detector you want to monitor (ECAL, EB, etc)
  • there is also a private ECAL DQM version in which is better
    • to see detailed plots select for example EcalBarrel in workspace tab
    • then in left pad, click on Layout, 99, expert
    • select the task ex: 05 laser, the SM and click on L1 or L4 to see the laser plots.
  • to see TP-EE occupancy:
    • select in ECAL DQM workspace endcap
    • 01 ECAL Shift > 03-Occupancy
    • double click on plot 08 TriggerPrimitives-Threshold

  • on ecalpro the sensor equipped cofigurations are:
    • [minidaq]: /Global_Runs/PrivGlob/ECAL/Cruzet2/Barrel_Ch3_sensors
    • [local daq, just in case]: /LocalReadout/Sensors/*
  • in rcms loggin as ecaldev, choose:
    • (.Xmas?) /Monitoring/Xmas_Monitor_NoClients_TCCDataOnly for TCC data only
    • /Monitoring/Xmas_Monitor_NoClients for all flashlist
  • in status display, click on xmas::pulser
  • enable or disable all the flashlist (in tab pulse event)

Monitoring trigger rates
  • from trigger rcmshttp://cmsrc-trigger.cms:19000/main/
  • select 'GT Cell' and click on 'Control Panels' -> 'Trigger Monitor'
  • the active triggers are in blue
  • WARNING: the rate we see is the in-coming rate to GT. It takes into account the whole orbit and even the gap. Therefore, when calibration sequence is on, it can be huge. The actual rate (output of GT) can be monitored here: http://cmsrc-trigger.cms:19000/trigmon/

See log files in RCMS

in RCMS:

  • click on "Status Display"
  • select "jobcontrol" corresponding to the tested crate

Operating Trigger

  • To get the GT Run Settings for a particular run number
    • go to GT Cell > Configuration > Unlock Panel > Run Settings > Load Settings of Run (type run number, press enter)
    • If you want to query the database directly (result 0 means OFF, result 1 means ON, result NULL means settings are from GT key, not from GT Run Settings): sqlplus cms_trg_r/l1trigger@cms_omds_lb
      • physics triggers on?
      • calibration trigger on?
      • random triggers on?
      • algorithm .OR. :
      • select * from GT_PARTITION_FINOR_ALGO where id in (select FINOR_ALGO_FK from GT_RUN_SETTINGS_HISTORY where RUN_NUMBER=64709);
      • technical trigger .OR. :
      • select * from GT_PARTITION_FINOR_TT where id in (select FINOR_TT_FK from GT_RUN_SETTINGS_HISTORY where RUN_NUMBER=64709);
      • technical trigger VETO .OR. :
      • select * from GT_PARTITION_VETO_TT where id in (select VETO_TT_FK from GT_RUN_SETTINGS_HISTORY where RUN_NUMBER=64709);


  • kinit4P5 paganini
  • project CMSSW

Operation OMDS confDB

Looking to the OMDS confDB
  • as dev, type datastudio
  • then by example: ecalh4db_test09->Schema->TEST09->Tables
  • right click on the table and select "Script Object to window as" -> SELECT *

Applying TT mask in confDB for DAQ
  1. edit the ConfigurationDB.xml (as pro (type pro)) in ~/DAQ/RunTime/GREN/config/db on .cms node.
  2. as dev (type dev in another session) run
  3. write an elog with the printout

Updating confDB
  • as dev run global
  • it will take all the configuration files etc and put them in the DB

Using DB gui
  • as pro: --also-write

Looking to configuration from DB for a given run
  • go to and select the runs.
  • click on the run number and on Show details on the right of configuration data
  • expand the Sequence 0 and Cycle 0 by clicking on the + symbol
  • scroll down up to the ECAL TCC Configuration
  • click by example on TCC Configuration for run xxxxx

TTCci stuff

Starting TTCci from scratch in standalone (not RCMS)

As paganini:

  • ssh ttc-ecal
  • export XDAQ_ROOT=/opt/xdaq
  • ~ttcpro/ --nohup
The 4 TTCci are created in port 2000

Configuring TTCci to send 1 trigger/click

load file /nfshome0/paganini/TTCci/TTCciConfiguration-nol1a.txt. Execute the sequence "User" to send 1 trigger. Other interesting sequences are:

  • Enable : HARD_RESET + start sequence
  • Suspend : bgo stop
  • Resume : bgo start
  • Halt : bgo stop
  • Start: bgo resync/EC0/start

Configuring TTCci/LTC to send random triggers

  • Start the TTCci/LTC from scratch
  • Load in the TCCci: /nfshome0/paganini/TTCci/TTCciConfiguration-LTCtrigger.txt
  • Load in the LTC: /nfshome0/paganini/TTCci/LTCconfiguration.txt

DCC stuff

Spying events
  • open a gui using [fed or crate]
  • in DCC configuration tab, select op attributes and set Evt/spy prescale = 1 and MaxNbTrigg = 350
  • click on Configure
  • In Operation tab click on Event Info and select in Memory Access rawdata, Errors and DMA
  • Change the name of the dump file and click on the button to dump the memory in the file

CCS and FE stuff

Using standalone application to configure CCS
  • as dev or pro log on the VME pc
  • cd ~/utils/vmed
  • ./Vmed [slot nb] 1
  • Select the desired menu (usually we are interested by trigger configuration: register TRIG_CONFIG0 should have the LSB=b8)

Configuring FE in pattern generator mode
  • go to PC connected to the corresponding VME crate as pro
  • type TrTimeSeq * Resync by TTCci must be issued to synchronize all the links configured different CCS

Configuring FE to send CCUid
  • go to PC connected to the corresponding VME crate as paganini then become pro
  • type TrLink (without parameters, it configures all boards corresponding to the crate)
  • the FE sends ccuid until you quit the program by answering "yes" to the "Are you finished" question...

SLB stuff

  • SLB gui launched from TCC: containers correspond to the TCC following the slot nb ordering

Crate/Controler/VME pc

Reloading driver caen

  • pc ecalod as paganini: sudo /etc/init.d/caenvme restart
  • pc ttc-ecal as paganini: sudo /etc/init.d/caenvme restart

Rebooting remotely a VME pc

  • using pro or dev, in utils, type 'pc_reboot 06' to reboot vmepcS2F19-06 for example

Rebooting remotely a VME crate

  • go to computer 21 as paganini
  • method Botjo:
    • type: lvps
    • Don't use menu items 1 and 5 (status vme crates and set voltage) - thay are not finished and tested yet !
  • method Evgueni:
    • vmecr 83 off - switch off crate 83
    • vmecr 83 on - switch on crate 83
    • vmecr 83 off on - switch off, wait 5 secs, switch on crate 83
    • vmecr all on - switch on all the crates.
    • vmecr all off - Disabled, to avoid mistakes.
  • crate number convention:
    • rack number * 10 + {d=1,h=2,l=3}
    • example: s2d08l => 08 l => 8*10 + 3 = 83

TCC info

TCC software compilation

  • Do on cmsusrX, make install [will compile for SLC4 on SLC4 computer and same for SLC3 computers]
  • It will put the lib in the correct place. If I compile ecalod-xx computer, the libs are not properly installed....

TCC Firmware dowloading/spying

Use the laptop that is in the cupboard at P5 next to ECAL racks. The laptop might be in B904. Ask me for the password.

In Impact :

  • "open last project" ;
  • double click to componant if no bitstream files is assigned ;
  • simple click on the componant to be programmed to select it ;
  • then tab "Operations" -> "Program

In chipscope (double click on the link in the desktop):

  • "File open" the last file (it contains the Jtag chain description)
  • click on the chain-symbol (upper left): the data window and the trigger window condition appears
  • change eventually the trigger condition (default is to trig on L1A)
  • click on the symbol "T!" to trig immediately, just to check it works...
  • click on the right arrow to acquire the data

TCC board production/test @ LLR status

it's here

TCC status in USC55

it's here...

TCC web site for production

All the files needed to produce TCCs are here

Understanding TCC channel status and error histograms

  • left panel: green if status from Agilent (deserializer circuit) is such that rx_error=0 and rx_ready=1, red otherwise (exept if disable = grey).
  • error link histograms (meaningfull only if operation mode corresponds to 'normal optical inputs') : filled if status from Agilent (deserializer circuit) is such that rx_data=0 or rx_error=1 or rx_ready=0. So the difference w.r.t left panel is due to rx_data only. rx_data can be 0 if the words sent are idle pattern instead of being real data.
  • error hamming histograms (meaningfull only if operation mode corresponds to 'normal optical inputs') : filled if the local calculation of the hamming code is different from the hamming code received with the data. What are the conditions leading to link errors without hamming errors? If the link error touches by chance only the word-encoding part of the data (bit swapping), then the data itself remains valid and the hamming code won't have any error.

Understanding Trigger Tower order in TCC

  • the left panel presents the TT number before re-ordering in increasing phi (so only for EB+), ie as FE numbering scheme
  • the mask in the DB must be given following the DQM convention ie without re-ordering
  • the histos from the TCC follows obviously TCC convention (reordering). Therefore when I display a map of the barrel from these histos I must re-re-order (!) to follow the same convention as in the DQM. What a mess!!!!!

TCC-EB response with BGO/VME commands

BGO HardReset
  • In virtex2pro:
    • Empty L1 fifo
    • Reset event/bx local counter
    • Reset DCC and SRP formater block
    • TTS state machine reset: back to TTS state 'Busy' for only 1 BX and then TTS state becomes 'Ready'
    • Run status is forced to 'stopped'
  • in each virtex2:
    • Reset the pointer for pattern generator 2 or 3
    • Synchronize optical inputs
    • Reset agilent (deserializer) status
    • Reset BX counter used by pattern generator 3
    • Reset the output FIFO content and read/write pointers

BGO Resync
  • In virtex2pro:
    • Empty L1 fifo
    • Reset event/bx local counter
    • Reset DCC and SRP formater block
  • in each virtex2:

VME Reset (register "Synchro_Links")
  • In virtex2pro:
    • same as for BGO HardReset
    • in addition: reset TTCRX decoder state machine (not TTCrx chip)
  • in each virtex2:
    • same as for BGO HardReset
    • Reset agilent (deserializer) status

VME Reset Links (register "Reset_Link_Status")
  • In virtex2pro:
    • nothing
  • in each virtex2:
    • Reset agilent (deserializer) status

TCC-EE Irakli's program

  • in devel: ecalTCC/Tcc48ConfTools/Implementation/bin
  • ./Tcc48SpyTest [-h] [-i tccid] [-M mapid] slotid
    • spy_view = 0 (DCCTx),1 (last datablock sent to DCC),2 (SRPTx) selected with v/V
  • ./Tcc48SlbTest [-h] -p slotid
    • type B to start slbs


Dump hexa of a run

  • in CMSSW_2_1_4, checkout UserCode/pgras but put pgras just under src/
  • compile and go to test to run:
  • ./dumpRaw -r -A /store/data/BeamCommissioning08/Cosmics/RAW/v1/000/062/617/34DF8F70-CB82-DD11-8436-0016177CA7A0.root > & /tmp/paganini/log
  • type dumpRaw -h for the meaning of the options
  • Rem: to skip 34 event and read just 1 event use: ./dumpRaw -s 34 -n 35

Trigger Expert on Call duties

Edit | Attach | Watch | Print version | History: r76 < r75 < r74 < r73 < r72 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r76 - 2010-06-03 - PascalPaganini
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Main All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2021 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback