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