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 
11 #include "TH1D.h"
12 #include "TTree.h"
13 #include "TFile.h"
14 #include "TMatrixD.h"
15 
16 class AlignableNavigator;
17 class TFile;
18 class TTree;
19 
21 {
22 
23  public:
24 
27 
29  ~MuonMillepedeAlgorithm() override {};
30 
32  void initialize( const edm::EventSetup& setup,
34  AlignableExtras* extras,
35  AlignmentParameterStore* store) override;
36 
38  void terminate(const edm::EventSetup& setup) override;
39 
40 
41 
43  void run(const edm::EventSetup& setup, const EventInfo &eventInfo) override;
44 
46 
47  void toTMat(AlgebraicMatrix *, TMatrixD *);
48 
49  void collect();
50 
51  private:
52 
53  // private data members
54 
55  void printM(const AlgebraicMatrix& );
56 
58  std::vector<Alignable*> theAlignables;
60 
61  // verbosity flag
62  bool verbose;
63 
64  //Store residuals
65  std::map<std::string, TH1D *> histoMap;
66 
67  std::map<std::string, AlgebraicMatrix *> map_invCov;
68  std::map<std::string, AlgebraicMatrix *> map_weightRes;
69  std::map<std::string, AlgebraicMatrix *> map_N;
70 
71  double ptCut, chi2nCut;
72 
73 
74  //Service for histograms
76 
77 
83 
84 
85 
86 };
87 
88 #endif
std::map< std::string, AlgebraicMatrix * > map_weightRes
AlignableNavigator * theAlignableDetAccessor
void initialize(const edm::EventSetup &setup, AlignableTracker *tracker, AlignableMuon *muon, AlignableExtras *extras, AlignmentParameterStore *store) override
Call at beginning of job.
def setup(process, global_tag, zero_tesla=False)
Definition: GeneralSetup.py:1
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::map< std::string, AlgebraicMatrix * > map_N
virtual void terminate()
Called at end of job (must be implemented in derived class)
~MuonMillepedeAlgorithm() override
Destructor.
std::map< std::string, TH1D * > histoMap
eventInfo
add run, event number and lumi section
std::vector< Alignable * > theAlignables
Constructor of the full muon geometry.
Definition: AlignableMuon.h:37
void run(const edm::EventSetup &setup, const EventInfo &eventInfo) override
Run the algorithm.
std::map< std::string, AlgebraicMatrix * > map_invCov