CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/Alignment/CommonAlignmentMonitor/plugins/AlignmentMonitorGeneric.h

Go to the documentation of this file.
00001 #ifndef Alignment_CommonAlignmentMonitor_AlignmentMonitorGeneric_H
00002 #define Alignment_CommonAlignmentMonitor_AlignmentMonitorGeneric_H
00003 
00004 // Package:     CommonAlignmentMonitor
00005 // Class  :     AlignmentMonitorGeneric
00006 // 
00007 // Produce histograms generic to all alignment algorithms.
00008 //
00009 // Histograms defined:
00010 //   pull of x hit residuals for positively charged tracks on each alignable
00011 //   pull of x hit residuals for negatively charged tracks on each alignable
00012 //   pull of y hit residuals for positively charged tracks on each alignable
00013 //   pull of y hit residuals for negatively charged tracks on each alignable
00014 //         pt for all tracks
00015 //        eta for all tracks
00016 //        phi for all tracks
00017 //         d0 for all tracks
00018 //         dz for all tracks
00019 //   chi2/dof for all tracks
00020 //
00021 // Original Author:  Jim Pivarski
00022 //         Created:  Thu Mar 29 13:59:56 CDT 2007
00023 // $Id: AlignmentMonitorGeneric.h,v 1.4 2008/08/11 20:24:19 pivarski Exp $
00024 
00025 #include "Alignment/CommonAlignmentMonitor/interface/AlignmentMonitorBase.h"
00026 #include "TH1.h" 
00027 
00028 class AlignmentMonitorGeneric:
00029   public AlignmentMonitorBase
00030 {
00031   typedef std::vector<TH1F*> Hist1Ds;
00032 
00033   public:
00034 
00035   AlignmentMonitorGeneric(
00036                           const edm::ParameterSet&
00037                           );
00038 
00039   virtual void book();
00040 
00041   virtual void event(const edm::Event&,
00042                      const edm::EventSetup&,
00043                      const ConstTrajTrackPairCollection&
00044                      );
00045 
00046   virtual void afterAlignment(
00047                               const edm::EventSetup&
00048                               ) {}
00049 
00050   private:
00051 
00052   static const unsigned int nBin_ = 50;
00053 
00054   Hist1Ds m_trkHists; // track parameters histograms
00055 
00056   std::map<const Alignable*, Hist1Ds> m_resHists; // hit residuals histograms
00057 };
00058 
00059 #endif