CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
DTSurveyConvert.cc
Go to the documentation of this file.
1 #include <fstream>
2 
8 // #include "FWCore/ParameterSet/interface/ParameterSet.h"
11 
13 
15 {
16  //now do what ever initialization is needed
17  nameWheel_m2 = iConfig.getUntrackedParameter<std::string>("nameWheel_m2");
18  nameWheel_m1 = iConfig.getUntrackedParameter<std::string>("nameWheel_m1");
19  nameWheel_0 = iConfig.getUntrackedParameter<std::string>("nameWheel_0");
20  nameWheel_p1 = iConfig.getUntrackedParameter<std::string>("nameWheel_p1");
21  nameWheel_p2 = iConfig.getUntrackedParameter<std::string>("nameWheel_p2");
22 
23  nameChambers_m2 = iConfig.getUntrackedParameter<std::string>("nameChambers_m2");
24  nameChambers_m1 = iConfig.getUntrackedParameter<std::string>("nameChambers_m1");
25  nameChambers_0 = iConfig.getUntrackedParameter<std::string>("nameChambers_0");
26  nameChambers_p1 = iConfig.getUntrackedParameter<std::string>("nameChambers_p1");
27  nameChambers_p2 = iConfig.getUntrackedParameter<std::string>("nameChambers_p2");
28 
29  wheel_m2 = iConfig.getUntrackedParameter<bool>("wheel_m2");
30  wheel_m1 = iConfig.getUntrackedParameter<bool>("wheel_m1");
31  wheel_0 = iConfig.getUntrackedParameter<bool>("wheel_0");
32  wheel_p1 = iConfig.getUntrackedParameter<bool>("wheel_p1");
33  wheel_p2 = iConfig.getUntrackedParameter<bool>("wheel_p2");
34 
35  outputFileName = iConfig.getUntrackedParameter<std::string>("OutputTextFile");
36  WriteToDB = iConfig.getUntrackedParameter<bool>("writeToDB");
37 
38 }
39 
40 // ------------ method called to for each event ------------
41 void
43 {
44 
46  iSetup.get<MuonGeometryRecord>().get( pDD );
47 
48  std::ofstream outFile(outputFileName.c_str());
49 
50  if (wheel_m2 == true) {
51  DTSurvey *wheel = new DTSurvey(nameWheel_m2, nameChambers_m2, -2);
52  wheel->ReadChambers(pDD);
53  wheel->CalculateChambers();
54  outFile << *wheel;
55  wheelList.push_back(wheel);
56  }
57  if (wheel_m1 == true) {
58  DTSurvey *wheel = new DTSurvey(nameWheel_m1, nameChambers_m1, -1);
59  wheel->ReadChambers(pDD);
60  wheel->CalculateChambers();
61  outFile << *wheel;
62  wheelList.push_back(wheel);
63  }
64  if (wheel_0 == true) {
65  DTSurvey *wheel = new DTSurvey(nameWheel_0, nameChambers_0, 0);
66  wheel->ReadChambers(pDD);
67  wheel->CalculateChambers();
68  outFile << *wheel;
69  wheelList.push_back(wheel);
70  }
71  if (wheel_p1 == true) {
73  wheel->ReadChambers(pDD);
74  wheel->CalculateChambers();
75  outFile << *wheel;
76  wheelList.push_back(wheel);
77  }
78  if(wheel_p2 == true) {
80  wheel->ReadChambers(pDD);
81  wheel->CalculateChambers();
82  outFile << *wheel;
83  wheelList.push_back(wheel);
84  }
85  outFile.close();
86 }
87 
88 // ------------ method called once each job just after ending the event loop ------------
89 void
91  if(WriteToDB == true) {
92  // Instantiate the helper class
93  MuonAlignment align( eventSetup );
94  std::ifstream inFile(outputFileName.c_str());
95  while(!inFile.eof()) {
96  float dx, dy, dz, sigma_dx, sigma_dy, sigma_dz;
97  float alpha, beta, gamma, sigma_alpha, sigma_beta, sigma_gamma;
98  inFile >> dx >> sigma_dx >> dy >> sigma_dy >> dz >> sigma_dz
99  >> alpha >> sigma_alpha >> beta >> sigma_beta >> gamma >> sigma_gamma;
100  if(inFile.eof()) break;
101  std::vector<float> displacement;
102  displacement.push_back(dx);
103  displacement.push_back(dy);
104  displacement.push_back(dz);
105  displacement.push_back(-alpha);
106  displacement.push_back(-beta);
107  displacement.push_back(-gamma);
108  }
109  inFile.close();
110  align.saveToDB();
111  }
112 }
113 
const double beta
T getUntrackedParameter(std::string const &, T const &) const
std::string nameWheel_p2
float alpha
Definition: AMPTWrapper.h:95
virtual void analyze(const edm::Event &, const edm::EventSetup &)
std::string nameChambers_0
void ReadChambers(edm::ESHandle< DTGeometry >)
Definition: DTSurvey.cc:41
std::string nameChambers_p2
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:17
std::string nameChambers_p1
std::string nameWheel_m2
std::string nameWheel_p1
std::string outputFileName
void CalculateChambers()
Definition: DTSurvey.cc:28
virtual void endJob()
Definition: EDAnalyzer.h:59
std::string nameChambers_m2
const T & get() const
Definition: EventSetup.h:55
std::vector< DTSurvey * > wheelList
std::string nameWheel_0
DTSurveyConvert(const edm::ParameterSet &)
std::string nameWheel_m1
std::string nameChambers_m1