Back to home page

Project CMSSW displayed by LXR

 
 

    


Warning, /TrackPropagation/SteppingHelixPropagator/doc/SteppingHelixPropagator.doc is written in an unsupported language. File is not indexed.

0001 
0002 /*!
0003 
0004 \page TrackPropagation_SteppingHelixPropagator Package TrackPropagation/SteppingHelixPropagator
0005 
0006 <center>
0007 <small>
0008 
0009 <!-- @PROJ_VERS@ will be substituted at build time, no need to touch -->
0010 <a href=http://cmsdoc.cern.ch/swdev/viewcvs/viewcvs.cgi/CMSSW/TrackPropagation/SteppingHelixPropagator/?cvsroot=CMSSW&only_with_tag=@PROJ_VERS@>CVS</a> - 
0011 <a href=http://cmsdoc.cern.ch/swdev/viewcvs/viewcvs.cgi/CMSSW/TrackPropagation/SteppingHelixPropagator/.admin/developers?rev=HEAD&cvsroot=CMSSW&content-type=text/vnd.viewcvs-markup>Administrative privileges</a>
0012 </small>
0013 </center>
0014 
0015 \section desc Description
0016 <!-- Short description of what this package is supposed to provide -->
0017 
0018 Place for SteppingHelixPropagator: a propagator using a simplified geometry/material treatment.
0019 
0020 
0021 \subsection interface Public interface
0022 <!-- List the classes that are provided for use in other packages (if any) -->
0023 
0024 SteppingHelixPropagator
0025 - ::propagate(FTS, Cylinder) and ::propagate(FTS, Plane) methods are avialable through
0026  Propagator abstract base class interface.
0027 
0028 - FTS  ::propagate(FTS, GlobalPoint) provides extrapolation to PCA to a point (useful for vertexing)
0029 - FTS  ::propagate(FTS, GlobalPoint, GlobalPoint) provides extrapolation to PCA to a line (e.g., beamline)
0030 The above two methods are only available as members of SteppingHelixPropagator class 
0031 (not through Propagator class interface).
0032 
0033 Note that the propagator can be configured to propagate (via ES/.cfi or via "PropagationDirection")
0034 -# alongMomentum -- the direction of propagation is along momentum
0035 -# oppositeToMomentum -- the direction of propagation is opposite to momentum
0036 -# anyDirection -- the direction is estimated internally as the direction of the shorter distance
0037 to the destination point.
0038 
0039 Propagation behavior can be controlled by the following flags
0040 (it is preferable though to just use what's set in the standard .cfi files)
0041 -# bool debug = val -- turn on/off (val=true/false [default false]) debug output: CAREFUL it's VERY VERBOSE
0042 -# bool AssumeNoMaterial = val -- turn off/on (val=true/false [default false]) material effects (eloss, multiple scattering)
0043 -# bool NoErrorPropagation = val -- turn off/on (val=true/false [default false]) error propagation (was a significant speed up eons ago)
0044 -# bool useMagVolumes = val -- turn on/off (val=true/false [default true]) accounting for MagVolume boundaries. Helps to account for B-field irregularities (effect: internally stop at each MagVolume boundary)
0045 -# bool useMatVolumes = val -- turn on/off (val=true/false [default true]) accounting for material volume boundaries. Helps to account for material irregularities (effect: internally stop at each material volume boundary). The volumes are defined specific to the propagator and are presently hard-coded (the plan is to get it available through det description some day).
0046 -# bool returnTangentPlane = val -- do/do-not (val=true/false [default true]) return a TSOS built on a tangent plane for input propagation to a non-Plane surface.
0047 -# bool sendLogWarning = val -- turn on/off (val=true/false [default false]) LogWarning messages for propagation failures
0048 -# bool ApplyRadX0Correction = val -- turn on/off (val=true/false [default true]) accounting for non-linear growth of sigma^2 of the multiple scattering component (pick up of non-Gaussian tails) (see more below).
0049 
0050 \subsection modules Modules
0051 <!-- Describe modules implemented in this package and their parameter set -->
0052 src/SteppingHelixPropagatorESProducer .. with module.cc -- provide a preconfigured 
0053 S.H.Propagator through the event setup
0054 test/SteppingHelixPropagatorAnalyzer .. see below.
0055 
0056 To use a pre-configured extrapolator user is advised to access
0057 the propagator via event setup, e.g., 
0058   ESHandle<Propagator> shPropAlong;
0059   iSetup.get<TrackingComponentsRecord>().get("SteppingHelixPropagatorAlong", shPropAlong);
0060 which will provide a preconfigured propagator with propagation direction along momentum.
0061 The corresponding config include file is 
0062 TrackPropagation/SteppingHelixPropagator/data/SteppingHelixPropagatorAlong.cfi .
0063 The other (suffix) options are "Any" and "Opposite" (see above for definitions).
0064 
0065 
0066 \subsection configuration Configuration files for access through ES
0067 The .cfi file names (base) correspond to the ComponentName value
0068 - \b SteppingHelixPropagatorAlong.cfi : propagate "alongMomentum"
0069 - \b SteppingHelixPropagatorOpposite.cfi : propagate "oppositeToMomentum"
0070 - \b SteppingHelixPropagatorAny.cfi : choose propagation direction based on a straight-line quess from inState to destSurface ("anyDirection")
0071 
0072 \subsection tests Unit tests and examples
0073 <!-- Describe cppunit tests and example configuration files -->
0074 SteppingHelixPropagatorAnalyzer.cc can be used to produce ntuples of MC hit matching.
0075 testPropagatorAnalyzer.cfg and .sh files help runnig the Analyzer
0076 MuProp.h and .C files correspond to (compileable) root scripts for making analyzis of the ntuple.
0077 
0078 \section status Status and planned development
0079 <!-- e.g. completed, stable, missing features -->
0080 Still in development.
0081 Muon swimming is working fine.
0082 Decent quality error propagation is also implemented.
0083 Radiation length non-additive (1+0.036*log(x)) effects relevant to multiple scattering 
0084 are optionally accounted assuming the path integral at the starting point is zero.
0085 Note that accounting for it is configured by default if the propagator is extracted from event setup.
0086 This effect can be handled properly if using (local to SteppingHelixPropagator only) interface with SteppingHelixStateInfo.
0087 The errors in the cov matrix due to multiple scattering appear to be good to within a few percent.
0088 Since the tails of Eloss fluctuations are not accounted for (not a Gaussian part), 
0089 the distributions of the matching values might be wider than predicted from naive model of Gaussian errors.
0090 
0091 <hr>
0092 Last updated:
0093 @DATE@  Author: Slava Krutelyov.
0094 */
0095