CMSSW_5_3_X
Some of the latest features of the Millepede implementation in CMSSW, including capability of Lorentz angle and backplane calibrations, were `lost' during the transition from CVS to github, and thus, they are not included in the official-release version of the
Alignment
package because a backport is in general (except for bug fixes) not possible at this point anymore. The modifications are provided via the
Alignment-MP-53X-Dev
branch of the
cms-trackeralignment
VO and can be added on top of the official-release version.
The following recipe has been tested for 5_3_23. All later versions
should also work, but no guarantee.
scram p CMSSW CMSSW_5_3_23
cd CMSSW_5_3_23/src
cmsenv
- Adding the subpackages from the release that will be modified (in order to avoid having to type in your password for each package, you can put the list of packages into a text file
list.txt
, one package per line, and then use git cms-addpkg -f list.txt
):
git cms-addpkg Alignment/CommonAlignment
git cms-addpkg Alignment/CommonAlignmentAlgorithm
git cms-addpkg Alignment/CommonAlignmentMonitor
git cms-addpkg Alignment/CommonAlignmentParametrization
git cms-addpkg Alignment/CommonAlignmentProducer
git cms-addpkg Alignment/MillePedeAlignmentAlgorithm
git cms-addpkg Alignment/OfflineValidation
git cms-addpkg Alignment/ReferenceTrajectories
git cms-addpkg Alignment/TrackerAlignment
git cms-addpkg CalibTracker/Configuration
git cms-addpkg CalibTracker/Records
git cms-addpkg CalibTracker/SiStripESProducers
git cms-addpkg CondCore/SiStripPlugins
git cms-addpkg CondFormats/DataRecord
git cms-addpkg CondFormats/SiStripObjects
git cms-addpkg MuonAnalysis/MomentumScaleCalibration
git cms-addpkg RecoLocalTracker/Records
git cms-addpkg RecoLocalTracker/SiPixelRecHits
git cms-addpkg RecoLocalTracker/SiStripRecHitConverter
git remote add cms-trackeralign git@github.com:cms-trackeralign/cmssw.git
git fetch cms-trackeralign
git checkout --track cms-trackeralign/Alignment-MP-53X-Dev
In Alignment/CommonAlignmentProducer/plugins/AlignmentProducer= in =edm::EDLooper::Status AlignmentProducer::duringLoop(const edm::Event& event, const edm::EventSetup& setup) replace
const AlignmentAlgorithmBase::EventInfo eventInfo(event.id(), trajTracks, *beamSpot, clusterValueMapPtr);
by
const edm::EventID evtid = event.id();
const AlignmentAlgorithmBase::EventInfo eventInfo(evtid, trajTracks, *beamSpot, clusterValueMapPtr);
- Finally, compile everything
scram b -j6
rehash # for csh
hash -r # for sh
CMSSW_3_3_X
To use the latest developements concerning Millepede II (Broken lines fit see(
http://indico.cern.ch/getFile.py/access?contribId=7&sessionId=1&resId=0&materialId=slides&confId=63597
)) and the usage of the Runge-Kutta track fit, do:
scram p CMSSW CMSSW_3_3_2
cd CMSSW_3_3_2/src
cvs co -r V03-02-00 Alignment/CommonAlignmentAlgorithm
cvs co -r V01-02-01 Alignment/CommonAlignmentProducer
cvs co -r V03-08-02 Alignment/LaserAlignment
cvs co -r V00-21-03 Alignment/MillePedeAlignmentAlgorithm
cvs co -r V02-06-07 Alignment/OfflineValidation
cvs co -r V01-00-01 Alignment/ReferenceTrajectories
cvs co -r V00-01-01 DataFormats/Alignment
If you want to use the Runge-Kutta propagator, make sure that the following things are set (a
diff
output is available further below):
path/file |
check |
Alignment/ReferenceTrajectories/CMS.BuildFile |
should contain <use name=TrackPropagation/RungeKutta> |
Alignment/ReferenceTrajectories/src/ReferenceTrajectory.cc |
#include statement for TrackingTools/GeomPropagators/interface/AnalyticalPropagator.h is absent or commented out |
#include "TrackPropagation/RungeKutta/interface/RKTestPropagator.h" is present |
the line AnalyticalPropagator aPropagator(magField, propDir); is commented out and the following lines are present right afterwards: |
RKTestPropagator bPropagator(magField, propDir); //double tolerance = 5.e-5 |
Propagator &aPropagator = bPropagator; |
And after all don't forget to issue a
scram b
=diff= output for the changes needed for using the Runge-Kutta propagator:
diff -r CMSSW_3_3_2_withBLnoRK/src/Alignment/ReferenceTrajectories/CMS.BuildFile CMSSW_3_3_2_withBLwithRK/src/Alignment/ReferenceTrajectories/CMS.BuildFile
12a13
> <use name=TrackPropagation/RungeKutta>
diff -r CMSSW_3_3_2_withBLnoRK/src/Alignment/ReferenceTrajectories/src/ReferenceTrajectory.cc CMSSW_3_3_2_withBLwithRK/src/Alignment/ReferenceTrajectories/src/ReferenceTrajectory.cc
24c24,25
< #include "TrackingTools/GeomPropagators/interface/AnalyticalPropagator.h"
---
> //#include "TrackingTools/GeomPropagators/interface/AnalyticalPropagator.h"
> #include "TrackPropagation/RungeKutta/interface/RKTestPropagator.h"
274c275,279
< AnalyticalPropagator aPropagator(magField, propDir);
---
> //AnalyticalPropagator aPropagator(magField, propDir);
> // work around TrackPropagation/RungeKutta/interface/RKTestPropagator.h and
> // http://www.parashift.com/c++-faq-lite/strange-inheritance.html#faq-23.9
> RKTestPropagator bPropagator(magField, propDir); //double tolerance = 5.e-5)
> Propagator &aPropagator = bPropagator;
MC alignment:
An example configuration file for MC alignment studies can be found here:
/afs/cern.ch/cms/CAF/CMSALCA/ALCA_TRACKERALIGN/MP/hamburg/alignmentCosmMC_GF_cfg.py
CRAFT08 alignment:
To run on the CRAFT08 data (3rd reprocessing)
/Cosmics/Commissioning08_CRAFT0831X_V1_311_AlcaReco_FromTrackerPointing_StreamTkAlCosmics0T_v1/ALCARECO
you can find an example configuration file here:
afs/cern.ch/cms/CAF/CMSALCA/ALCA_TRACKERALIGN/MP/hamburg/alignment_cfg_EXAMPLE_CRAFT0831X.py
NOTE:
- A ready-to-use area is already set up. See this section. A set of template config files for common tasks is available there as well.
- If you want to use the new CMS.TrackerTrackHitFilter, make sure the PixelQualityFlag is set to FALSE if you do not use the pixel templates.
CMSSW_2_1_X and CMSSW_2_2_X
Please use CMSSW_2_2_9 or above. CMSSW_2_2_X can read CMSSW_2_1_X data as well (except particle flow objects thatwe do not care are all).
To get all the features of Millepede and almost all of the alignment framework as in CMSSW_3_1_X, follow the
Backport of CMSSW_3_1_X features section at
SWGuideTrackAlignmentVersions.
CMSSW_2_0_X and before
Documentation for older CMSSW versions can be found in older versions of
Twiki page on the MillePedeII algnment algorithm.