Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 11:57:20

0001 #ifndef Alignment_ReferenceTrajectories_BzeroReferenceTrajectory_h
0002 #define Alignment_ReferenceTrajectories_BzeroReferenceTrajectory_h
0003 
0004 /**
0005  *  Class implementing the reference trajectory of a single particle in
0006  *  the absence of a magnetic field (B=0, hence the name), i.e. a
0007  *  straight track with only 4 parameters (no curvature parameter).
0008  *
0009  *  Given the TrajectoryStateOnSurface at the first hit and the list of
0010  *  all hits the local measurements, derivatives etc. as described in
0011  *  (and accessed via) ReferenceTrajectoryBase are calculated.
0012  * 
0013  *  The covariance-matrix of the measurements may include effects of
0014  *  multiple-scattering or energy-loss effects or both. This can be
0015  *  defined in the constructor via the variable 'materialEffects
0016  *  (cf. ReferenceTrajectoryBase):
0017  *
0018  *  materialEffects =  none/multipleScattering/energyLoss/combined
0019  *
0020  *  Since no a-priori momentum estimate exists, but is needed for the
0021  *  calculation of material effects, a fixed value is used (e.g.
0022  *  representing the average momentum of the cosmics spectrum).
0023  *
0024  *  By default, the mass is assumed to be the muon-mass, but can be
0025  *  changed via a constructor argument.
0026  *
0027  * LIMITATIONS:
0028  *  So far all input hits have to be valid, but invalid hits
0029  *  would be needed to take into account the material effects in them...
0030  *
0031  */
0032 
0033 #include "Alignment/ReferenceTrajectories/interface/ReferenceTrajectory.h"
0034 
0035 class BzeroReferenceTrajectory : public ReferenceTrajectory {
0036 public:
0037   /**Constructor with Tsos at first hit (in physical order) and list of hits 
0038      [if (hitsAreReverse) ==> order of hits is in opposite direction compared
0039      to the flight of particle, but note that BzeroReferenceTrajectory::recHits()
0040      returns the hits always in order of flight],
0041      the material effects to be considered and a particle mass and a momentum extimate,
0042      the magnetic field of the event is needed for propagations etc.
0043    */
0044   BzeroReferenceTrajectory(const TrajectoryStateOnSurface& tsos,
0045                            const TransientTrackingRecHit::ConstRecHitContainer& recHits,
0046                            const MagneticField* magField,
0047                            const reco::BeamSpot& beamSpot,
0048                            const ReferenceTrajectoryBase::Config& config);
0049 
0050   ~BzeroReferenceTrajectory() override {}
0051 
0052   BzeroReferenceTrajectory* clone() const override { return new BzeroReferenceTrajectory(*this); }
0053 
0054 private:
0055   double theMomentumEstimate;
0056 };
0057 
0058 #endif