19 theParameterSet( iConfig )
31 edm::LogInfo(
"SurveyDataConverter") <<
"Analyzer called";
41 textFileNames[0] = textFiles.getUntrackedParameter<
std::string>(
"forTIB",
"NONE");
43 textFileNames[1] = textFiles.getUntrackedParameter<
std::string>(
"forTID",
"NONE");
48 if ( textFileNames[
ii] ==
"NONE" )
49 throw cms::Exception(
"BadConfig") << fileType[
ii] <<
" input file not found in configuration";
50 dataReader.
readFile( textFileNames[
ii], fileType[ii], tTopo );
55 std::cout <<
"DATA HAS BEEN READ INTO THE MAP" << std::endl;
56 std::cout <<
"DATA HAS BEEN CONVERTED IN ALIGNABLE COORDINATES" << std::endl;
69 std::cout <<
"Apply fine info: " << std::endl;
71 for ( MapType::const_iterator it = map.begin(); it != map.end(); it++){
76 translations.push_back(align_params[0]);
77 translations.push_back(align_params[1]);
78 translations.push_back(align_params[2]);
81 align_params[7], align_params[10], align_params[4],
82 align_params[8], align_params[11], align_params[5]);
85 align_params[16], align_params[19], align_params[13],
86 align_params[17], align_params[20], align_params[14]);
97 std::cout <<
"Apply coarse info: " << std::endl;
109 std::cout <<
"Apply APEs: " << std::endl;
117 if (TIBerrors.size() < 3 || TOBerrors.size() < 4 || TIDerrors.size() < 4 || TECerrors.size() < 4) {
118 std::cout <<
"APE info not valid : please check test/run-converter.cfg" << std::endl;
124 align::Alignables::const_iterator iter;
128 for (iter = theTIBhb.begin(); iter != theTIBhb.end(); ++iter )
129 { theModifier.addAlignmentPositionErrorLocal( *iter, TIBerrors.at(0),
130 TIBerrors.at(0), TIBerrors.at(0) ); }
132 for (iter = theTIBlayers.begin(); iter != theTIBlayers.end(); ++iter)
133 { theModifier.addAlignmentPositionErrorLocal( *iter, TIBerrors.at(1),
134 TIBerrors.at(1), TIBerrors.at(1) ); }
136 for (iter = theTIBgd.begin(); iter != theTIBgd.end(); ++iter )
137 { theModifier.addAlignmentPositionErrorLocal( *iter, TIBerrors.at(2),
138 TIBerrors.at(2), TIBerrors.at(2) ); }
142 for (iter = theTOBhb.begin(); iter != theTOBhb.end(); ++iter )
143 { theModifier.addAlignmentPositionErrorLocal( *iter, TOBerrors.at(0),
144 TOBerrors.at(0), TOBerrors.at(1) ); }
146 for (iter = theTOBrods.begin(); iter != theTOBrods.end(); ++iter )
147 { theModifier.addAlignmentPositionErrorLocal( *iter, TOBerrors.at(2),
148 TOBerrors.at(2), TOBerrors.at(2) ); }
150 for (iter = theTOBgd.begin(); iter != theTOBgd.end(); ++iter )
151 { theModifier.addAlignmentPositionErrorLocal( *iter, TOBerrors.at(3),
152 TOBerrors.at(3), TOBerrors.at(3) ); }
156 for (iter = theTIDs.begin(); iter != theTIDs.end(); ++iter )
157 { theModifier.addAlignmentPositionErrorLocal( *iter, TIDerrors.at(0),
158 TIDerrors.at(0), TIDerrors.at(0) ); }
160 for (iter = theTIDdiscs.begin(); iter != theTIDdiscs.end(); ++iter )
161 { theModifier.addAlignmentPositionErrorLocal( *iter, TIDerrors.at(1),
162 TIDerrors.at(1), TIDerrors.at(1) ); }
164 for (iter = theTIDrings.begin(); iter != theTIDrings.end(); ++iter )
165 { theModifier.addAlignmentPositionErrorLocal( *iter, TIDerrors.at(2),
166 TIDerrors.at(2), TIDerrors.at(2) ); }
168 for (iter = theTIDgd.begin(); iter != theTIDgd.end(); ++iter )
169 { theModifier.addAlignmentPositionErrorLocal( *iter, TIDerrors.at(3),
170 TIDerrors.at(3), TIDerrors.at(3) ); }
174 for (iter = theTECs.begin(); iter != theTECs.end(); ++iter )
175 { theModifier.addAlignmentPositionErrorLocal( *iter, TECerrors.at(0),
176 TECerrors.at(0), TECerrors.at(0) ); }
178 for (iter = theTECdiscs.begin(); iter != theTECdiscs.end(); ++iter )
179 { theModifier.addAlignmentPositionErrorLocal( *iter, TECerrors.at(1),
180 TECerrors.at(1), TECerrors.at(1) ); }
182 for (iter = theTECpetals.begin(); iter != theTECpetals.end(); ++iter )
183 { theModifier.addAlignmentPositionErrorLocal( *iter, TECerrors.at(2),
184 TECerrors.at(2), TECerrors.at(2) ); }
186 for (iter = theTECgd.begin(); iter != theTECgd.end(); ++iter )
187 { theModifier.addAlignmentPositionErrorLocal( *iter, TECerrors.at(3),
188 TECerrors.at(3), TECerrors.at(3) ); }
T getParameter(std::string const &) const
SurveyDataReader::MapType MapType
void analyze(const edm::Event &iEvent, const edm::EventSetup &iSetup) override
#define DEFINE_FWK_MODULE(type)
void applyFineSurveyInfo(TrackerAlignment &tr_align, const MapType &map)
U second(std::pair< T, U > const &p)
void applyCoarseSurveyInfo(TrackerAlignment &tr_align)
void applyAPEs(TrackerAlignment &tr_align)
edm::ParameterSet MisalignScenario
Alignables & innerBarrelGeomDets()
Return inner barrel GeomDets.
std::vector< Scalar > Scalars
Alignables & endCaps()
Return TECs.
Alignables & TIDGeomDets()
Return TID GeomDets.
Alignables & outerBarrelRods()
Return outer barrel rods.
void moveAlignableTIBTIDs(int rawId, const align::Scalars &globalDisplacements, const align::RotationType &backwardRotation, const align::RotationType &forwardRotation, bool toAndFro)
edm::ParameterSet theParameterSet
Alignables & endcapGeomDets()
Return endcap GeomDets.
SurveyDataConverter(const edm::ParameterSet &iConfig)
Alignables & TIDs()
Return TIDs.
const MapType & detIdMap() const
Alignables & outerBarrelGeomDets()
Return outer barrel GeomDets.
Alignables & TIDLayers()
Return TID layers.
Alignables & TIDRings()
Return TID rings.
AlignableTracker * getAlignableTracker()
std::vector< Alignable * > Alignables
Alignables & innerBarrelLayers()
Return inner barrel layers.
void readFile(const std::string &textFileName, const std::string &fileType, const TrackerTopology *tTopo)
Read given text file.
void applyScenario(const edm::ParameterSet &scenario) override
Apply misalignment scenario to the tracker.
Alignables & endcapPetals()
Return encap petals.
Alignables & innerHalfBarrels()
Return TIB half barrels.
Builds a scenario from configuration and applies it to the alignable tracker.
Alignables & endcapLayers()
Return endcap layers.
T const * product() const
Alignables & outerHalfBarrels()
Return TOB half barrels.