CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
CSCOverlapsAlignmentAlgorithm.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // Package: MuonAlignmentAlgorithms
4 // Class: CSCOverlapsAlignmentAlgorithm
5 //
13 //
14 // Original Author: Jim Pivarski,,,
15 // Created: Tue Oct 7 14:56:49 CDT 2008
16 // $Id: CSCOverlapsAlignmentAlgorithm.h,v 1.6 2010/09/10 11:56:11 mussgill Exp $
17 //
18 //
19 
48 
52 
53 #include "TH1F.h"
54 #include "TH2F.h"
55 #include "TProfile.h"
56 #include "TStyle.h"
57 
58 #include <sstream>
59 #include <map>
60 
62 public:
65 
66  void initialize(const edm::EventSetup& iSetup, AlignableTracker* alignableTracker, AlignableMuon* alignableMuon,
67  AlignableExtras* alignableExtras, AlignmentParameterStore* alignmentParameterStore);
68  void run(const edm::EventSetup& iSetup, const EventInfo &eventInfo);
69 
70  void terminate(const edm::EventSetup& iSetup);
71 
72  // having to make read-only accessors for all of these would be ridiculous, so they're public
74 
75  TProfile *m_fiducial_ME11;
76  TProfile *m_fiducial_ME12;
77  TProfile *m_fiducial_MEx1;
78  TProfile *m_fiducial_MEx2;
79 
80  TH1F *m_slope;
81  TH1F *m_slope_MEp4;
82  TH1F *m_slope_MEp3;
83  TH1F *m_slope_MEp2;
84  TH1F *m_slope_MEp1;
85  TH1F *m_slope_MEm1;
86  TH1F *m_slope_MEm2;
87  TH1F *m_slope_MEm3;
88  TH1F *m_slope_MEm4;
89 
96 
97  TH1F *m_drdz;
98 
99  TH2F *m_occupancy;
116 
117  int m_mode;
119  double m_maxdrdz;
131 
132 private:
135  double m_minP;
136  double m_maxRedChi2;
138  std::vector<std::string> m_readTemporaryFiles;
140 
142  std::vector<Alignable*> m_alignables;
144  std::vector<CSCChamberFitter> m_fitters;
145  std::vector<CSCPairResidualsConstraint*> m_residualsConstraints;
146  std::map<std::pair<CSCDetId,CSCDetId>,CSCPairResidualsConstraint*> m_quickChamberLookup;
147 
151 
152  TH1F *m_histP10;
153  TH1F *m_histP100;
154  TH1F *m_histP1000;
155 };
std::vector< CSCChamberFitter > m_fitters
CSCOverlapsAlignmentAlgorithm(const edm::ParameterSet &iConfig)
void initialize(const edm::EventSetup &iSetup, AlignableTracker *alignableTracker, AlignableMuon *alignableMuon, AlignableExtras *alignableExtras, AlignmentParameterStore *alignmentParameterStore)
Call at beginning of job (must be implemented in derived class)
std::vector< std::string > m_readTemporaryFiles
AlignmentParameterStore * m_alignmentParameterStore
Interface/Base class for alignment algorithms, each alignment algorithm has to be derived from this c...
define event information passed to algorithms
void run(const edm::EventSetup &iSetup, const EventInfo &eventInfo)
Run the algorithm (must be implemented in derived class)
std::vector< CSCPairResidualsConstraint * > m_residualsConstraints
virtual void terminate()
Called at end of job (must be implemented in derived class)
std::map< std::pair< CSCDetId, CSCDetId >, CSCPairResidualsConstraint * > m_quickChamberLookup
Constructor of the full muon geometry.
Definition: AlignableMuon.h:36