CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes
TkLasBeamFitter Class Reference

#include <Alignment/LaserAlignment/plugins/TkLasBeamFitter.cc>

Inheritance diagram for TkLasBeamFitter:
edm::one::EDProducer< edm::EndRunProducer > edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

virtual void endRunProduce (edm::Run &run, const edm::EventSetup &setup) override
 
virtual void produce (edm::Event &event, const edm::EventSetup &setup) override
 
 TkLasBeamFitter (const edm::ParameterSet &config)
 
 ~TkLasBeamFitter ()
 
- Public Member Functions inherited from edm::one::EDProducer< edm::EndRunProducer >
 EDProducer ()=default
 
- Public Member Functions inherited from edm::one::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
virtual ~EDProducerBase ()
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 ProducerBase ()
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription
const &)> 
registrationCallback () const
 used by the fwk to register list of products More...
 
virtual ~ProducerBase ()
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (std::string const &iProcessName, std::string const &iModuleLabel, bool iPrint, std::vector< char const * > &oModuleLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Private Member Functions

void buildTrajectory (TkFittedLasBeam &beam, unsigned int &hit, vector< const GeomDetUnit * > &gd, std::vector< GlobalPoint > &globPtrack, vector< TrajectoryStateOnSurface > &tsosLas, GlobalPoint &globPref)
 
bool fitBeam (TkFittedLasBeam &beam, AlgebraicSymMatrix &covMatrix, unsigned int &hitsAtTecPlus, unsigned int &nFitParams, double &offset, double &slope, vector< GlobalPoint > &globPtrack, double &bsAngleParam, double &chi2)
 
void fitter (TkFittedLasBeam &beam, AlgebraicSymMatrix &covMatrix, unsigned int &hitsAtTecPlus, unsigned int &nFitParams, std::vector< double > &hitPhi, std::vector< double > &hitPhiError, std::vector< double > &hitZprimeError, double &zMin, double &zMax, double &bsAngleParam, double &offset, double &offsetError, double &slope, double &slopeError, double &phiAtMinusParam, double &phiAtPlusParam, double &atThetaSplitParam)
 
void getLasBeams (TkFittedLasBeam &beam, vector< TrajectoryStateOnSurface > &tsosLas)
 
void getLasHits (TkFittedLasBeam &beam, const SiStripLaserRecHit2D &hit, vector< const GeomDetUnit * > &gd, vector< GlobalPoint > &globHit, unsigned int &hitsAtTecPlus)
 
void globalTrackPoint (TkFittedLasBeam &beam, unsigned int &hit, unsigned int &hitsAtTecPlus, double &trackPhi, double &trackPhiRef, std::vector< GlobalPoint > &globHit, std::vector< GlobalPoint > &globPtrack, GlobalPoint &globPref, std::vector< double > &hitPhiError)
 
void trackPhi (TkFittedLasBeam &beam, unsigned int &hit, double &trackPhi, double &trackPhiRef, double &offset, double &slope, double &bsAngleParam, double &phiAtMinusParam, double &phiAtPlusParam, double &atThetaSplitParam, std::vector< GlobalPoint > &globHit)
 

Static Private Member Functions

static double atFunction (double *x, double *par)
 
static double tecMinusFunction (double *x, double *par)
 
static double tecPlusFunction (double *x, double *par)
 

Private Attributes

bool fitBeamSplitters_
 
edm::Service< TFileServicefs
 
TH1F * h_bsAngle
 
TH2F * h_bsAngleVsBeam
 
TH1F * h_chi2
 
TH1F * h_chi2ndof
 
TH1F * h_hitX
 
TH1F * h_hitXAt
 
TH1F * h_hitXTecMinus
 
TH1F * h_hitXTecPlus
 
TH2F * h_hitXvsZAt
 
TH2F * h_hitXvsZTecMinus
 
TH2F * h_hitXvsZTecPlus
 
TH1F * h_pull
 
TH1F * h_res
 
TH1F * h_resAt
 
TH1F * h_resTecMinus
 
TH1F * h_resTecPlus
 
TH2F * h_resVsHitAt
 
TH2F * h_resVsHitTecMinus
 
TH2F * h_resVsHitTecPlus
 
TH2F * h_resVsZAt
 
TH2F * h_resVsZTecMinus
 
TH2F * h_resVsZTecPlus
 
unsigned int nAtParameters_
 
const edm::InputTag src_
 

Static Private Attributes

static vector< double > gBarrelModuleOffset
 
static vector< double > gBarrelModuleRadius
 
static double gBeamR = 0.0
 
static double gBeamSplitterZprime = 0.0
 
static double gBeamZ0 = 0.0
 
static double gBSparam = 0.0
 
static bool gFitBeamSplitters = 0
 
static unsigned int gHitsAtTecMinus = 0
 
static vector< double > gHitZprime
 
static bool gIsInnerBarrel = 0
 
static float gTIBparam = 0.097614
 
static float gTOBparam = 0.034949
 

Additional Inherited Members

- Public Types inherited from edm::one::EDProducerBase
typedef EDProducerBase ModuleType
 
- Public Types inherited from edm::ProducerBase
typedef
ProductRegistryHelper::TypeLabelList 
TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::one::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Detailed Description

Original Authors: Gero Flucke/Kolja Kaschube Created: Wed May 6 08:43:02 CEST 2009

Id:
TkLasBeamFitter.cc,v 1.12 2012/01/25 17:30:30 innocent Exp

Description: Fitting LAS beams with track model and providing TrajectoryStateOnSurface for hits.

Implementation:

Definition at line 65 of file TkLasBeamFitter.cc.

Constructor & Destructor Documentation

TkLasBeamFitter::TkLasBeamFitter ( const edm::ParameterSet config)
explicit

Definition at line 181 of file TkLasBeamFitter.cc.

TkLasBeamFitter::~TkLasBeamFitter ( )

Definition at line 200 of file TkLasBeamFitter.cc.

Member Function Documentation

double TkLasBeamFitter::atFunction ( double *  x,
double *  par 
)
staticprivate

Definition at line 618 of file TkLasBeamFitter.cc.

void TkLasBeamFitter::buildTrajectory ( TkFittedLasBeam beam,
unsigned int &  hit,
vector< const GeomDetUnit * > &  gd,
std::vector< GlobalPoint > &  globPtrack,
vector< TrajectoryStateOnSurface > &  tsosLas,
GlobalPoint globPref 
)
private

Definition at line 841 of file TkLasBeamFitter.cc.

void TkLasBeamFitter::endRunProduce ( edm::Run run,
const edm::EventSetup setup 
)
overridevirtual

Definition at line 222 of file TkLasBeamFitter.cc.

bool TkLasBeamFitter::fitBeam ( TkFittedLasBeam beam,
AlgebraicSymMatrix covMatrix,
unsigned int &  hitsAtTecPlus,
unsigned int &  nFitParams,
double &  offset,
double &  slope,
vector< GlobalPoint > &  globPtrack,
double &  bsAngleParam,
double &  chi2 
)
private

Definition at line 879 of file TkLasBeamFitter.cc.

void TkLasBeamFitter::fitter ( TkFittedLasBeam beam,
AlgebraicSymMatrix covMatrix,
unsigned int &  hitsAtTecPlus,
unsigned int &  nFitParams,
std::vector< double > &  hitPhi,
std::vector< double > &  hitPhiError,
std::vector< double > &  hitZprimeError,
double &  zMin,
double &  zMax,
double &  bsAngleParam,
double &  offset,
double &  offsetError,
double &  slope,
double &  slopeError,
double &  phiAtMinusParam,
double &  phiAtPlusParam,
double &  atThetaSplitParam 
)
private

Definition at line 663 of file TkLasBeamFitter.cc.

void TkLasBeamFitter::getLasBeams ( TkFittedLasBeam beam,
vector< TrajectoryStateOnSurface > &  tsosLas 
)
private

Fit 'beam' using info from its base class TkLasBeam and set its parameters. Also fill 'tsoses' with TSOS for each LAS hit.

Definition at line 330 of file TkLasBeamFitter.cc.

void TkLasBeamFitter::getLasHits ( TkFittedLasBeam beam,
const SiStripLaserRecHit2D hit,
vector< const GeomDetUnit * > &  gd,
vector< GlobalPoint > &  globHit,
unsigned int &  hitsAtTecPlus 
)
private

Definition at line 560 of file TkLasBeamFitter.cc.

void TkLasBeamFitter::globalTrackPoint ( TkFittedLasBeam beam,
unsigned int &  hit,
unsigned int &  hitsAtTecPlus,
double &  trackPhi,
double &  trackPhiRef,
std::vector< GlobalPoint > &  globHit,
std::vector< GlobalPoint > &  globPtrack,
GlobalPoint globPref,
std::vector< double > &  hitPhiError 
)
private

Definition at line 808 of file TkLasBeamFitter.cc.

void TkLasBeamFitter::produce ( edm::Event event,
const edm::EventSetup setup 
)
overridevirtual

Implements edm::one::EDProducerBase.

Definition at line 215 of file TkLasBeamFitter.cc.

Referenced by JSONExport.JsonExport::export().

double TkLasBeamFitter::tecMinusFunction ( double *  x,
double *  par 
)
staticprivate

Definition at line 600 of file TkLasBeamFitter.cc.

double TkLasBeamFitter::tecPlusFunction ( double *  x,
double *  par 
)
staticprivate

Definition at line 581 of file TkLasBeamFitter.cc.

void TkLasBeamFitter::trackPhi ( TkFittedLasBeam beam,
unsigned int &  hit,
double &  trackPhi,
double &  trackPhiRef,
double &  offset,
double &  slope,
double &  bsAngleParam,
double &  phiAtMinusParam,
double &  phiAtPlusParam,
double &  atThetaSplitParam,
std::vector< GlobalPoint > &  globHit 
)
private

Definition at line 737 of file TkLasBeamFitter.cc.

Member Data Documentation

bool TkLasBeamFitter::fitBeamSplitters_
private

Definition at line 122 of file TkLasBeamFitter.cc.

edm::Service<TFileService> TkLasBeamFitter::fs
private

Definition at line 125 of file TkLasBeamFitter.cc.

vector< double > TkLasBeamFitter::gBarrelModuleOffset
staticprivate

Definition at line 130 of file TkLasBeamFitter.cc.

vector< double > TkLasBeamFitter::gBarrelModuleRadius
staticprivate

Definition at line 129 of file TkLasBeamFitter.cc.

double TkLasBeamFitter::gBeamR = 0.0
staticprivate

Definition at line 133 of file TkLasBeamFitter.cc.

double TkLasBeamFitter::gBeamSplitterZprime = 0.0
staticprivate

Definition at line 135 of file TkLasBeamFitter.cc.

double TkLasBeamFitter::gBeamZ0 = 0.0
staticprivate

Definition at line 134 of file TkLasBeamFitter.cc.

double TkLasBeamFitter::gBSparam = 0.0
staticprivate

Definition at line 137 of file TkLasBeamFitter.cc.

bool TkLasBeamFitter::gFitBeamSplitters = 0
staticprivate

Definition at line 138 of file TkLasBeamFitter.cc.

unsigned int TkLasBeamFitter::gHitsAtTecMinus = 0
staticprivate

Definition at line 136 of file TkLasBeamFitter.cc.

vector< double > TkLasBeamFitter::gHitZprime
staticprivate

Definition at line 128 of file TkLasBeamFitter.cc.

bool TkLasBeamFitter::gIsInnerBarrel = 0
staticprivate

Definition at line 139 of file TkLasBeamFitter.cc.

float TkLasBeamFitter::gTIBparam = 0.097614
staticprivate

Definition at line 131 of file TkLasBeamFitter.cc.

float TkLasBeamFitter::gTOBparam = 0.034949
staticprivate

Definition at line 132 of file TkLasBeamFitter.cc.

TH1F* TkLasBeamFitter::h_bsAngle
private

Definition at line 142 of file TkLasBeamFitter.cc.

TH2F* TkLasBeamFitter::h_bsAngleVsBeam
private

Definition at line 145 of file TkLasBeamFitter.cc.

TH1F * TkLasBeamFitter::h_chi2
private

Definition at line 142 of file TkLasBeamFitter.cc.

TH1F * TkLasBeamFitter::h_chi2ndof
private

Definition at line 142 of file TkLasBeamFitter.cc.

TH1F * TkLasBeamFitter::h_hitX
private

Definition at line 142 of file TkLasBeamFitter.cc.

TH1F * TkLasBeamFitter::h_hitXAt
private

Definition at line 142 of file TkLasBeamFitter.cc.

TH1F * TkLasBeamFitter::h_hitXTecMinus
private

Definition at line 142 of file TkLasBeamFitter.cc.

TH1F * TkLasBeamFitter::h_hitXTecPlus
private

Definition at line 142 of file TkLasBeamFitter.cc.

TH2F * TkLasBeamFitter::h_hitXvsZAt
private

Definition at line 145 of file TkLasBeamFitter.cc.

TH2F * TkLasBeamFitter::h_hitXvsZTecMinus
private

Definition at line 145 of file TkLasBeamFitter.cc.

TH2F * TkLasBeamFitter::h_hitXvsZTecPlus
private

Definition at line 145 of file TkLasBeamFitter.cc.

TH1F * TkLasBeamFitter::h_pull
private

Definition at line 142 of file TkLasBeamFitter.cc.

TH1F * TkLasBeamFitter::h_res
private

Definition at line 142 of file TkLasBeamFitter.cc.

TH1F * TkLasBeamFitter::h_resAt
private

Definition at line 142 of file TkLasBeamFitter.cc.

TH1F * TkLasBeamFitter::h_resTecMinus
private

Definition at line 142 of file TkLasBeamFitter.cc.

TH1F * TkLasBeamFitter::h_resTecPlus
private

Definition at line 142 of file TkLasBeamFitter.cc.

TH2F * TkLasBeamFitter::h_resVsHitAt
private

Definition at line 145 of file TkLasBeamFitter.cc.

TH2F * TkLasBeamFitter::h_resVsHitTecMinus
private

Definition at line 145 of file TkLasBeamFitter.cc.

TH2F * TkLasBeamFitter::h_resVsHitTecPlus
private

Definition at line 145 of file TkLasBeamFitter.cc.

TH2F * TkLasBeamFitter::h_resVsZAt
private

Definition at line 145 of file TkLasBeamFitter.cc.

TH2F * TkLasBeamFitter::h_resVsZTecMinus
private

Definition at line 145 of file TkLasBeamFitter.cc.

TH2F * TkLasBeamFitter::h_resVsZTecPlus
private

Definition at line 145 of file TkLasBeamFitter.cc.

unsigned int TkLasBeamFitter::nAtParameters_
private

Definition at line 123 of file TkLasBeamFitter.cc.

const edm::InputTag TkLasBeamFitter::src_
private

Definition at line 121 of file TkLasBeamFitter.cc.