CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups 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,
67  AlignableTracker *alignableTracker,
68  AlignableMuon *alignableMuon,
69  AlignableExtras *alignableExtras,
70  AlignmentParameterStore *alignmentParameterStore) override;
71  void run(const edm::EventSetup &iSetup, const EventInfo &eventInfo) override;
72 
73  void terminate(const edm::EventSetup &iSetup) override;
74 
75  // having to make read-only accessors for all of these would be ridiculous, so they're public
77 
78  TProfile *m_fiducial_ME11;
79  TProfile *m_fiducial_ME12;
80  TProfile *m_fiducial_MEx1;
81  TProfile *m_fiducial_MEx2;
82 
83  TH1F *m_slope;
84  TH1F *m_slope_MEp4;
85  TH1F *m_slope_MEp3;
86  TH1F *m_slope_MEp2;
87  TH1F *m_slope_MEp1;
88  TH1F *m_slope_MEm1;
89  TH1F *m_slope_MEm2;
90  TH1F *m_slope_MEm3;
91  TH1F *m_slope_MEm4;
92 
99 
100  TH1F *m_drdz;
101 
102  TH2F *m_occupancy;
119 
120  int m_mode;
122  double m_maxdrdz;
134 
135 private:
139 
142  double m_minP;
143  double m_maxRedChi2;
145  std::vector<std::string> m_readTemporaryFiles;
147 
151  std::vector<CSCChamberFitter> m_fitters;
152  std::vector<CSCPairResidualsConstraint *> m_residualsConstraints;
153  std::map<std::pair<CSCDetId, CSCDetId>, CSCPairResidualsConstraint *> m_quickChamberLookup;
154 
157 
158  TH1F *m_histP10;
159  TH1F *m_histP100;
160  TH1F *m_histP1000;
161 };
const edm::ESGetToken< Propagator, TrackingComponentsRecord > m_propToken
std::vector< CSCChamberFitter > m_fitters
std::vector< std::string > m_readTemporaryFiles
CSCOverlapsAlignmentAlgorithm(const edm::ParameterSet &iConfig, edm::ConsumesCollector &)
void run(const edm::EventSetup &iSetup, const EventInfo &eventInfo) override
Run the algorithm (must be implemented in derived class)
AlignmentParameterStore * m_alignmentParameterStore
std::map< std::pair< CSCDetId, CSCDetId >, CSCPairResidualsConstraint * > m_quickChamberLookup
Interface/Base class for alignment algorithms, each alignment algorithm has to be derived from this c...
define event information passed to algorithms
void initialize(const edm::EventSetup &iSetup, AlignableTracker *alignableTracker, AlignableMuon *alignableMuon, AlignableExtras *alignableExtras, AlignmentParameterStore *alignmentParameterStore) override
Call at beginning of job (must be implemented in derived class)
const edm::ESGetToken< CSCGeometry, MuonGeometryRecord > m_cscGeometryToken
const edm::ESGetToken< TransientTrackBuilder, TransientTrackRecord > m_tthbToken
std::vector< CSCPairResidualsConstraint * > m_residualsConstraints
std::vector< Alignable * > Alignables
Definition: Utilities.h:31
virtual void terminate()
Called at end of job (must be implemented in derived class)
Constructor of the full muon geometry.
Definition: AlignableMuon.h:38