-- LimingChen - 10-Nov-2010

Contact Persons

  • Edward Moyse: Edward.Moyse@cern.ch
  • Andreas Wildauer: Andreas.Wildauer@cern.ch
  • Stefania Spagnolo: stefania.spagnolo@le.infn.it
  • Remi Zaidan: Remi.Zaidan@cern.ch

Implementation of TrackD3PD Writers (Muon Software)

Software Task List: Validation of software chain to implementation of D3PD writers.

Nov. emails

11.2 2010 Edward Moyse in email said:

What we want to do is to make the existing Track d3pd maker fill the muon identification, that is, the information in the MuonRIO_OnTrack objects: http://atlas-computing.web.cern.ch/atlas-computing/links/nightlyDocDirectory/MuonRIO_OnTrack/html/index.html

As a second step, I'd like to think about filling the PrepRawData objects: http://atlas-computing.web.cern.ch/atlas-computing/links/nightlyDocDirectory/MuonPrepRawData/html/index.html

11.9 2010 Remi Zaidan in email said:

Please have a look at the following twiki for information about the TrackD3PDMaker contents: https://twiki.cern.ch/twiki/bin/view/Atlas/TrackD3PDDocu

And the following twiki has some documentation about the D3PDMaker framework itself: https://twiki.cern.ch/twiki/bin/view/AtlasProtected/D3PDMaker

11.23 2010 Remi Zaidan in email said:

Next would be start coding...

Your starting point would be the latest tag of the PhysicsAnlaysis/D3PDMaker/TrackD3PDMaker package (TrackD3PDMaker-01-00-52).

Check-out that one, it should compile with 16.X.0 nightlies...

You can find stuff similar to what you want to do in TrackStateOnSurfaceFillerTool but for inned detector.

You can also look at any other tool in that package to learn how to implement getters/fillers/associators/etc...

You can also find there examples of python configurations...

Get the TrackD3PDMaker package on lxplus

First source the setup.sh
export ATLAS_RELEASE=16.0.1
export ATHENA_DIR=/afs/cern.ch/atlas/software/releases
#export MY=/afs/cern.ch/user/m/minghui
export MY=/afs/cern.ch/user/l/lchen/myAnalysisCode
#source /data2/atlas_soft/atlas-gcc/setup.sh
#source $MY/cmthome1601/setup.sh -tag=${ATLAS_RELEASE},i686-slc5-gcc43-opt
source $MY/cmthome_16.0.1/setup.sh -tag=${ATLAS_RELEASE},i686-slc5-gcc43-opt
source $ATHENA_DIR/$ATLAS_RELEASE/AtlasOffline/$ATLAS_RELEASE/AtlasOfflineRunTime/cmt/setup.sh ""

#From Liu Minghui 2010.9.28

Then, check out it

cmt co -r TrackD3PDMaker-01-00-52 PhysicsAnalysis/D3PDMaker/TrackD3PDMaker

Dec. emails:

12.2 2010 Remi Zaidan and Edward Moyse in email said:

1. Question:

In this link: http://atlas-computing.web.cern.ch/atlas-computing/links/nightlyDocDirectory/MuonRIO_OnTrack/html/index.html .

Notes that: To produce these classes you should not attempt to create them directly, but should instead use the RIOOnTrackCreators (i.e. tools which implement the Trk::IRIO_OnTrackCreator interface).

What is RIOOnTrackCreators and how to get it? By the way: what's the meaning of RIO?

1. Answer:

I'd expect that you'd get a track, and would loop through it getting the measurements, much as was done for the ID classes? i.e. you do (pseudo code):

DataVector<TrackStateOnSurfaces>::const_iterator it = myTrack.trackStateOnSurfaces ().begin(), itEnd = myTrack.trackStateOnSurfaces ().end()
for (;it!=itEnd;++it){
const Muon::TgcClusterOnTrack* tgcMeas = dynamic_cast<const Muon::TgcClusterOnTrack*>((*it)->measurementOnTrack() );
if (tgcMeas) // do something with the TGCs.
RIO stands for "Reconstruction Input Object" and represents e.g. calibrated MDT hits, corrected for drift time, temperature, wire sag etc.

From looking at the d3pd code I think it would be in this routine:


2. Question:

Unfortunately, I am not familiar with getters/fillers/associators, could you give me some reference?

2. Answer:

There is a talk linked from this twiki that explains the concepts: https://twiki.cern.ch/twiki/bin/view/AtlasProtected/D3PDMaker#Further_documentation

For technical coding aspects, if you are familiar with C++, you should be able to read the code in the TrackD3PDMaker package and learn how things are being done...

You can find there examples of everything.

3. Question:

I think a dataset is needed to check whether the code is right. The data should be real data or MC data?

3. Answer:

I usually check with both: if you are dumping truth information, you need to check on MC that the info is being filled correctly,

and you need to check on data that the code don't crash because the truth info is missing (i.e. all truth info should be correctly disabled when running on data...)

12.3 2010 Edward Moyse in email said:

Sorry, I still couldn't get your idea perfectly.

1. My comprehension is that I will write programs which are similar to the TrackStateOnSurfaceFillerTool.h(cxx) in the structure.

No, I think that you should update them to handle Muon measurements too. So if you look through it, and see what the ID is doing, we want to do the same.
They have PixelClusterOnTrack, SCT_ClusterOnTrack and TRT_DriftCircleOnTrack. We have [Csc/Rpc/Tgc]ClusterOnTrack, and MdtDriftCircleOnTrack.
You need to look at the information on our objects, and add them to the D3PD in the same way as the ID have done.
2. What the file name should be? What the file name should be?
So, you shouldn't need to make new files.

3. Where is the access to read data?

Look here: http://atlas-computing.web.cern.ch/atlas-computing/links/nightlyDocDirectory/TrackD3PDMaker/html/classD3PD_1_1TrackStateOnSurfaceFillerTool.html#2b4f80948f38d29e2edc13343344609b

4. How could I compile them?

I think you should work against a stable release for the moment. So perhaps use 16.0.3?  i.e. asetup 16.0.3
(assuming you've set up AtlasSetup correctly).

Get test real data and mc data

Here is for dq2
source /afs/cern.ch/project/gd/LCG-share/current/etc/profile.d/grid_env.sh
source /afs/cern.ch/atlas/offline/external/GRID/ddm/DQ2Clients/setup.sh
voms-proxy-init -voms atlas

Here is the data:

Real data: dq2-get -n 1 data10_7TeV.00166305.physics_JetTauEtmiss.merge.AOD.f295_m619

MC data: dq2-get -n 1 mc09_7TeV.106043.PythiaWenu_no_filter.merge.AOD.e468_s765_s767_r1388_r1389_tid151173_00

Feb. 2011 emails

2.Feb. 2011 Edward Moyse in email said:

mkdir D3PDtests
cd D3PDtests
asetup 16.6.0,here,runtime
pkgco.py -A MuonRecExample
cd MuonSpectrometer/MuonReconstruction/MuonRecExample/cmt
cd ../run
cp ../share/MuonRec_myTopOptions.py .

And then I edited MuonRec_myTopOptions.py  to add the following line:
#muonRecFlags.calibMuonboy = False # write Muonboy tracks/segments to ntuple?
muonRecFlags.doTrkD3PD = True

Then I ran with 'athena MuonRec_myTopOptions.py'

Afterwards I see 'MuonTrackD3PD.root' has been created. There's no info in there yet, but at least it's a start!

2011. 3. 23 16.7.0

1. The muon ID helpers are : http://atlas-computing.web.cern.ch/atlas-computing/links/nightlyDocDirectory/MuonIdHelpers/html/index.html
2. The muon Id helpers are listed here: https://svnweb.cern.ch/trac/atlasoff/browser/MuonSpectrometer/MuonIdHelpers/tags/MuonIdHelpers-00-08-14/MuonIdHelpers
3. you can see an example of their include here: http://alxr.usatlas.bnl.gov/og/xref/release_16_5_0/atlas/MuonSpectrometer/MuonReconstruction/MuonRecTools/MuonRecHelperTools/MuonRecHelperTools/MuonIdHelperTool.h#13
4. In fact, they are at here: http://alxr.usatlas.bnl.gov/lxr-stb5/source/atlas/MuonSpectrometer/MuonReconstruction/MuonRecTools/MuonRecHelperTools/MuonRecHelperTools/MuonIdHelperTool.h
5. Try 16.7.0

config and make 2011.4.15

1. use this command to download a new reuiremens checkreq.py --mode=both -w
Or add these to the requirements

use IsolationTool               IsolationTool-*                 Reconstruction/RecoTools
use MuonIdHelpers               MuonIdHelpers-*                 MuonSpectrometer
2. Go to this directory /afs/cern.ch/user/l/lchen/D3PDMaker/PhysicsAnalysis/D3PDMaker/TrackD3PDMaker/cmt
3. after asetup 16.7.0, cmt config
4. make
5. if the problem happened
#CMT---> TrackD3PDMaker ok
cmt_install_action.sh> no cmtpath
make[2]: *** [/afs/cern.ch/user/l/lchen/D3PDMaker/PhysicsAnalysis/D3PDMaker/TrackD3PDMaker/cmt/InstallArea/i686-slc5-gcc43-opt/lib/libTrackD3PDMaker.so] Error 1
make[1]: *** [TrackD3PDMaker] Error 2
make: *** [all] Error 2
Do touch version.cmt in cmt/ directory

Some reference 2011.4.15

1. Doxygen Global Search
2. Go to this site to see
  • bool isBarrel (const Identifier &id) const
Edit | Attach | Watch | Print version | History: r12 < r11 < r10 < r9 < r8 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r12 - 2011-05-04 - LimingChen
    • 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-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback