OTrCosmics Offline Software

Event generation

To simulate events we have implemented a simple cosmics generator in Gauss. It currently resides in Gen/ParticleGuns. It has been tested on top of Gauss_v30r3, but it will probably work with any version. To run the simulation

  • create a release directory
  • check out the HEAD of Gen/ParticleGuns, configure and compile. This contains a new generator called OTCosmicGenerator
  • check out Sim/Gauss, configure and compile
  • go to the job directory, copy my jop-option file, edit to your liking and run gauss
       cd $GAUSSROOT/job
       cp /afs/cern.ch/user/w/wouter/lhcb/Gauss_v30r3/Sim/Gauss/job/cosmics.opts .
       $GAUSSROOT/$CMTCONFIG/Gauss.exe cosmics.opts |& tee gausslog.txt

One thing to worry about is the timing of the OT hits. In the simulation of collisions, particles reach OT SL1 at approximately 28 ns after the interaction. The readout window used in the digitization of station 1 hits is set to [28ns, 28ns+75ns]. For station 2 and 3 the offset is 30ns and 32ns, respectively. In contrast to collision products, our cosmic muons traverse the detector in upstream direction and the time at which they hit the detector is evenly spread in the 25ns clock. (We do not yet simulate the latter.) To make these events 'fall' within the [32ns,32ns+75ns] window imposed by station 3, we add 35ns as an offset to the event time. In the future, we should just change the readout window itself, which is probably possible by reconfiguring the OTReadoutWindow tool.


You can run the default Boole to process the .sim file you have just generated. Make sure to set the proper input files (including catalogue) and to turn the magnetic field off:

      MagneticFieldSvc.UseConstantField = true;
For now, you can copy my job-option file from /afs/cern.ch/user/w/wouter/lhcb/Boole/Digi/Boole/options/cosmics.opts For testing the track finding code it may be useful to turn off the noise:
     MCOTDepositCreator.addNoise = false ;


You can try to reconstruct the events created with Boole with the standard brunel. There are several reasons why you will not get any reasonable tracking efficiency

  • the timing of the OT hits is entirely wrong: The MC is properly calibrated only for 'c=1' particles from the LHCb origin. The timing of our cosmics is odd in two ways: * they are spread evenly in the 25ns readout window (but we do not simulate that yet); * they traverse the detector upstream, under a large angle. For now, the only solution is not to use drifttimes in reconstruction. We need to prepare the software for that;
  • all T-station tracking algorithms reconstruct tracks in the top (+y) and bottom (-y) sections seperately. Our cosmic muons traverse station 3 in the top sector and station 1 in the bottom sector. (Station 2 will probably be a mix, but that depends where exactly we put the scintillators.)

Since these single particle events are easy to reconstruct, we should probably just write our own track finding algorithm.

First set of instructions

  • create a new release based on Brunel v32r2. Check out the right version of brunel:
      getpack Rec/Brunel v32r2
You can use afs/cern.ch/user/w/wouter/lhcb/trackingnew as a model.
  • check out the head of OTDAQ:
      getpack OT/OTDAQ head
  • check out the package Tf/OTrCosmicsTracking. For now, you'll need to get this from Wouter's repository:
       cvs -d /afs/cern.ch/user/w/wouter/repository co Tf/OTrCosmicsTracking
  • now build all packages you have just checked out.
  • finally, copy this option file and run brunel with it
    cp /afs/cern.ch/user/w/wouter/lhcb/trackingnew/Rec/Brunel/options/cosmics.opts

Running over real data to study trigger timing

The head of OTrCosmicsTracking now contains some code to retrieve the trigger time information. In addition to the tags above (make sure to use Brunel v32r1 or later!), check out the head of OTDAQ:

      getpack OT/OTDAQ head
Now copy an option file from your OTrCosmicsTracking/options directory to your favourite job directory:
      cp Tf/OTrCosmicsTracking/options/BrunelCosmics.opts  Rec/Brunel/job
and run brunel with this option file. For events with a single coincidence, you'll get the timing of all involved scintillators.


-- WouterHulsbergen - 24 Sep 2007

Edit | Attach | Watch | Print version | History: r5 < r4 < r3 < r2 < r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r5 - 2008-01-02 - WouterHulsbergen
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    LHCb 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