![]() |
![]() |
00001 00009 #ifndef Alignment_MuonStantaloneAlgorithm_MuonStandaloneAlgorithm_H 00010 #define Alignment_MuonStantaloneAlgorithm_MuonStandaloneAlgorithm_H 00011 00012 00013 // Base Class Headers 00014 #include "FWCore/Framework/interface/EDAnalyzer.h" 00015 #include "Alignment/MuonStandaloneAlgorithm/interface/AlignmentDetectorCollection.h" 00016 //#include "Alignment/MuonAlignment/interface/MuonAlignment.h" 00017 #include <vector> 00018 #include "TMatrixD.h" 00019 00020 namespace edm { 00021 class ParameterSet; 00022 class Event; 00023 class EventSetup; 00024 } 00025 00026 class TFile; 00027 class TH1F; 00028 00029 00030 class TrackAlignment: public edm::EDAnalyzer { 00031 public: 00032 00034 TrackAlignment(const edm::ParameterSet& pset); 00035 00037 virtual ~TrackAlignment(); 00038 00039 // Operations 00040 void analyze(const edm::Event & event, const edm::EventSetup& eventSetup); 00041 00042 virtual void beginJob(const edm::EventSetup& eventSetup) ; 00043 00044 virtual void endJob(); 00045 00046 private: 00047 00048 00049 TFile *theFile; 00050 TFile *f; 00051 std::vector<TH1F *> unitsDerXK; 00052 std::vector<TH1F *> unitsDerXPhi; 00053 std::vector<TH1F *> unitsDerXT; 00054 std::vector<TH1F *> unitsDerXTheta; 00055 std::vector<TH1F *> unitsDerXL; 00056 std::vector<TH1F *> unitsDerZK; 00057 std::vector<TH1F *> unitsDerZPhi; 00058 std::vector<TH1F *> unitsDerZT; 00059 std::vector<TH1F *> unitsDerZTheta; 00060 std::vector<TH1F *> unitsDerZL; 00061 00062 std::vector<TH1F *> unitsRPhi; 00063 std::vector<TH1F *> unitsPhi; 00064 std::vector<TH1F *> unitsZ; 00065 std::vector<TH1F *> unitsTheta; 00066 00067 AlignmentDetectorCollection detectorCollection; 00068 std::string theMatrixFile; 00069 std::string theTrackForAlignment; 00070 std::vector<long> alignables; 00071 TMatrixD CMatrix; 00072 TMatrixD bMatrix; 00073 00074 long int numberOfTracks; 00075 00076 const static int NDOFTrack = 5; 00077 const static int NDOFAlign = 6; 00078 const static int NDOFChamber = 4; 00079 const static int NDOFCoor = 4; 00080 00081 00082 00083 }; 00084 #endif 00085 00086 00087 00088 00089 00090 00091