Mainly this page is for me to remember things.

Volunteer work

  1. DDCompareCPV tool April 2011.

    • DDPixFwdBlade changed to allow re-use (remove statics).
    • First version given to Yana 4/6/2011
    • Changes put in 4/18/2011
      • MAJOR MISSING COMPARATOR! DDSpecifics were not checked at each node partly because (again) I need to read the code carefully to see if those are fully isolated from each other.
      • Found bugs:
        1. if xml files are NOT config files, say something in the output. done
      • Things I think we should do
        1. allow user to set "user controlled namespaces?" -> done
        2. allow user to set tolerance for -> started
          • matrix elements
          • length elements
        3. always display lowest level value differences -> started
        4. allow user to set whether or not to check the name of a DDRotation matches. -> done
        5. allow user to indicate whether to stop or keep going when a fault is found.
          • maybe not possible when names stop matching. how to re-sync?
          • 2 flags? one is to continue on value error and the other is attempt re-sync.
        6. verbosity level for values of translations and rotations.
      • Testing notes;
        1. tests need configuration files.
          • maybe re-write the C++ so that python can be used to supply the necessary file names easily from the cms.process.
          • I still want to dump 2 blobs and compare, like the LiMax and LiMin or some other different blob; partly to test user controlled namespace flag

Transition Notes

A list of things that I need to get done with David Dagenhart before I leave:

  1. List of packages - DONE
  2. Check on some of the unit tests I wrote to see if they are busted. At least one gives an error. David found the "pork" bug.
  3. Documentation:

What I should do for Simulation group?

  1. Sit down with Sunanda Monday 20 Sept to see if all is well.
    • e-mailed. heard from Mike H. waiting for Sunanda response... maybe I'll just document (is the below enough?) how I do the testing for sim before going to release mgr.
  2. Make sure the "hand-shaking" with David is in place for DB payloads (maybe no worry, Liz can handle that). Will try to close the loop on the afternoon of the 20th after meeting with Sunanda and Mike.

Wish list; probably won't happen; will note here if they do:

  1. G4 to DDL dump from OSCAR, bring it forward
  2. Vincenzo wanted to check that the fix for Hcal works on AMD
  3. Shapes in ddd html
  4. Shapes in geomtery writer work?

Links I like

Development Notes

3.8.X Making my shell scripts test work as unit tests... I hope.

Just so I remember where to start. Here is the link David Dagenhart originally sent me: Example


Need a local file

which has:



function die { echo Failure $1: status $2 ; exit $2 ; }

pushd ${LOCAL_TMP_DIR}
  echo ${test}

exit 0

and then in BuildFile

 <bin file="TestIntegration.cpp" name="DetectorDescriptionRegressionTestsetenv">
   <flags TEST_RUNNER_ARGS=" /bin/bash DetectorDescription/RegressionTest/test" />
   <use   name="FWCore/Utilities" />

And a local app TestIntegration.cpp

looking like this:

#include "FWCore/Utilities/interface/TestHelper.h"


3.8.X plans for the Geometry Payload label convention:

To make clear the access and use of the labels in the GlobalTag.

I want to end up with Extended, GFlash, LiMax, LiMin, X0Min, X0Max, Ideal OR Extended, ExtendedGFlash, ExtendedLiMax, etc, Ideal (Ideal does not change as it is just the "core" CMS).

Customization fragments: Example

import FWCore.ParameterSet.Config as cms
def customise(process):
    process.XMLFromDBSource.label = cms.string('ExtendedLiMax')    
    process.GlobalTag.toGet = cms.VPSet(
        cms.PSet(record = cms.string("GeometryFileRcd"),
                 tag = cms.string("XMLFILE_Geometry_ExtendedLiMax_38YV0"),
                 connect = cms.untracked.string("frontier://FrontierPrep/CMS_COND_GEOMETRY")
    return (process)

~ 3.7.0... pre releases

CMSSW How to check if your tag or set of tags is in an IB or in a release:

You can modify this as you see fit in your own area but please leave it as is here :). The file mf contains a lines like this:

VXX-YY-ZZ !SubSystem/Package

I also assume you have scram p a project area and cmsenv to set your env. variables. Then, you just do the following. Get ready!

cat mf | awk '{print $1 " " $3}' > mf.addpkg
addpkg -f mf.addpkg

HA! I just found out recently that if you have them in the format

VXX-YY-ZZ !SubSystem/Package

You can just do the following! So as long as you have them in one format or the other... you can do -r (reverse) or not. NOTE: I could not get -r to work with just one package.

addpkg -r -f mf
Next I peek at the showtags -r because of an exception. The line below that goes from showtagsbase -> showtags.clean can be a problem if you have a new package that has no previous tag or you have some other weird situation where you have a missing tag in the first or second column of the showtags -r output. Get set!

showtags -r |& tee showtagsbase

You can edit showtagsbase to something if you have the above exception condition. Go!

cat showtagsbase| grep V | awk '{print $1 " " $2 " " $3}' |& tee showtags.clean
cat showtags.clean | awk '{if ($1>$2) print $1 " " $3}' |& tee notinyet
cat showtags.clean | awk '{if ($1<$2) print $2 " " $3}' |& tee releasenewer
cat showtags.clean | awk '{if ($1==$2) print $2 " " $3}' |& tee inrelease

The file names are pretty self explanatory. Good luck!

Outdated/Old stuff

-- MichaelCase - 23-Apr-2010

Edit | Attach | Watch | Print version | History: r16 < r15 < r14 < r13 < r12 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r16 - 2011-04-19 - MichaelCase
    • 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