CMS 3D CMS Logo

LaserBeamClusterizer Class Reference

uses the results of the BeamProfileFit to create SiStripClusters from the StripDigis of the Laser beams More...

#include <Alignment/LaserAlignment/interface/LaserBeamClusterizer.h>

List of all members.

Public Types

typedef std::vector
< LASBeamProfileFit
BeamFitContainer
typedef
BeamFitContainer::const_iterator 
BeamFitIterator

Public Member Functions

void clusterizeDetUnit (const edm::DetSet< SiStripDigi > &input, edm::DetSet< SiStripCluster > &output, BeamFitIterator beginFit, BeamFitIterator endFit, unsigned int detId, double ClusterWidth)
 do the clusterizing
 LaserBeamClusterizer ()
 constructor
 ~LaserBeamClusterizer ()
 destructor


Detailed Description

uses the results of the BeamProfileFit to create SiStripClusters from the StripDigis of the Laser beams

Date
2007/03/18 19:00:19
Revision
1.2
Author:
Maarten Thomas

Definition at line 21 of file LaserBeamClusterizer.h.


Member Typedef Documentation

typedef std::vector<LASBeamProfileFit> LaserBeamClusterizer::BeamFitContainer

Definition at line 24 of file LaserBeamClusterizer.h.

typedef BeamFitContainer::const_iterator LaserBeamClusterizer::BeamFitIterator

Definition at line 25 of file LaserBeamClusterizer.h.


Constructor & Destructor Documentation

LaserBeamClusterizer::LaserBeamClusterizer (  )  [inline]

constructor

Definition at line 28 of file LaserBeamClusterizer.h.

00028 {};

LaserBeamClusterizer::~LaserBeamClusterizer (  )  [inline]

destructor

Definition at line 30 of file LaserBeamClusterizer.h.

00030 {};


Member Function Documentation

void LaserBeamClusterizer::clusterizeDetUnit ( const edm::DetSet< SiStripDigi > &  input,
edm::DetSet< SiStripCluster > &  output,
BeamFitIterator  beginFit,
BeamFitIterator  endFit,
unsigned int  detId,
double  ClusterWidth 
)

do the clusterizing

Definition at line 14 of file LaserBeamClusterizer.cc.

References edm::DetSet< T >::data.

Referenced by LaserClusterizerAlgorithm::run().

00016 {
00017   edm::DetSet<SiStripDigi>::const_iterator beginDigi = input.data.begin();
00018   edm::DetSet<SiStripDigi>::const_iterator endDigi = input.data.end();
00019 
00020   std::vector<SiStripDigi> theDigis;
00021   theDigis.reserve(10);
00022 
00023   output.data.reserve( (endDigi - beginDigi)/3 + 1 );
00024 
00025   double theMeanStrip = beginFit->mean();
00026   double theSigma = beginFit->sigma();
00027 
00028   if ( ((theMeanStrip > 0.0) && (theSigma > 0.0)) )
00029     {
00030       // loop over the digis
00031       for (edm::DetSet<SiStripDigi>::const_iterator iDigi = beginDigi; iDigi <= endDigi; iDigi++)
00032         {
00033           if ( (iDigi->strip() > (theMeanStrip - ClusterWidth * theSigma) ) && (iDigi->strip() < (theMeanStrip + ClusterWidth * theSigma) ) )
00034             {
00035               theDigis.push_back((*iDigi));
00036             }
00037         }
00038       
00039       if ( theDigis.size() > 0 ) // check if we have selected some digis
00040         {
00041           output.data.push_back( SiStripCluster(detId, SiStripCluster::SiStripDigiRange(theDigis.begin(), theDigis.end())) );
00042         }
00043     }
00044   else
00045     {
00046       edm::LogInfo("LaserBeamClusterizer") << "no fit information available for this DetId " << detId << "; no clusters will be available!\n"; 
00047     }
00048 }


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:27:19 2009 for CMSSW by  doxygen 1.5.4