CMS 3D CMS Logo

MuonMillepedeAlgorithm.h
Go to the documentation of this file.
1 #ifndef Alignment_MuonStandaloneAlgorithm_MuonMillepedeAlgorithm_h
2 #define Alignment_MuonStandaloneAlgorithm_MuonMillepedeAlgorithm_h
3 
6 
9 
10 #include "TH1D.h"
11 #include "TTree.h"
12 #include "TFile.h"
13 #include "TMatrixD.h"
14 
15 class AlignableNavigator;
16 class TFile;
17 class TTree;
18 
20 public:
23 
26 
28  void initialize(const edm::EventSetup& setup,
31  AlignableExtras* extras,
32  AlignmentParameterStore* store) override;
33 
35  void terminate(const edm::EventSetup& setup) override;
36 
38  void run(const edm::EventSetup& setup, const EventInfo& eventInfo) override;
39 
41 
42  void toTMat(AlgebraicMatrix*, TMatrixD*);
43 
44  void collect();
45 
46 private:
47  // private data members
48 
49  void printM(const AlgebraicMatrix&);
50 
54 
55  // verbosity flag
56  bool verbose;
57 
58  //Store residuals
59  std::map<std::string, TH1D*> histoMap;
60 
61  std::map<std::string, AlgebraicMatrix*> map_invCov;
62  std::map<std::string, AlgebraicMatrix*> map_weightRes;
63  std::map<std::string, AlgebraicMatrix*> map_N;
64 
65  double ptCut, chi2nCut;
66 
67  //Service for histograms
69 
75 };
76 
77 #endif
std::map< std::string, AlgebraicMatrix * > map_weightRes
std::map< std::string, AlgebraicMatrix * > map_invCov
AlignableNavigator * theAlignableDetAccessor
void initialize(const edm::EventSetup &setup, AlignableTracker *tracker, AlignableMuon *muon, AlignableExtras *extras, AlignmentParameterStore *store) override
Call at beginning of job.
Interface/Base class for alignment algorithms, each alignment algorithm has to be derived from this c...
edm::Service< TFileService > fs
void toTMat(AlgebraicMatrix *, TMatrixD *)
define event information passed to algorithms
CLHEP::HepMatrix AlgebraicMatrix
MuonMillepedeAlgorithm(const edm::ParameterSet &cfg)
Constructor.
void updateInfo(const AlgebraicMatrix &, const AlgebraicMatrix &, const AlgebraicMatrix &, std::string)
void printM(const AlgebraicMatrix &)
AlignmentParameterStore * theAlignmentParameterStore
std::vector< Alignable * > Alignables
Definition: Utilities.h:31
std::map< std::string, TH1D * > histoMap
virtual void terminate()
Called at end of job (must be implemented in derived class)
~MuonMillepedeAlgorithm() override
Destructor.
std::map< std::string, AlgebraicMatrix * > map_N
Constructor of the full muon geometry.
Definition: AlignableMuon.h:33
align::Alignables theAlignables
void run(const edm::EventSetup &setup, const EventInfo &eventInfo) override
Run the algorithm.