Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #include "CondTools/DT/interface/DTDeadFlagHandler.h"
00014
00015
00016
00017
00018 #include "CondFormats/DTObjects/interface/DTDeadFlag.h"
00019
00020
00021
00022
00023 #include <iostream>
00024 #include <fstream>
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034 DTDeadFlagHandler::DTDeadFlagHandler( const edm::ParameterSet& ps ):
00035 dataTag( ps.getParameter<std::string> ( "tag" ) ),
00036 fileName( ps.getParameter<std::string> ( "file" ) ),
00037 runNumber( ps.getParameter<unsigned int> ( "run" ) ) {
00038 }
00039
00040
00041
00042
00043 DTDeadFlagHandler::~DTDeadFlagHandler() {
00044 }
00045
00046
00047
00048
00049 void DTDeadFlagHandler::getNewObjects() {
00050
00051
00052 cond::TagInfo const & ti = tagInfo();
00053 unsigned int last = ti.lastInterval.first;
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084 DTDeadFlag* dFlag = new DTDeadFlag( dataTag );
00085
00086 int status = 0;
00087 std::ifstream ifile( fileName.c_str() );
00088 int whe;
00089 int sta;
00090 int sec;
00091 int qua;
00092 int lay;
00093 int cel;
00094 int hv;
00095 int tp;
00096 int ro;
00097 int dc;
00098 while ( ifile >> whe
00099 >> sta
00100 >> sec
00101 >> qua
00102 >> lay
00103 >> cel
00104 >> hv
00105 >> tp
00106 >> ro
00107 >> dc ) {
00108 status = dFlag->set( whe, sta, sec, qua, lay, cel,
00109 hv != 0, tp != 0, ro != 0, dc != 0 );
00110 std::cout << whe << " "
00111 << sta << " "
00112 << sec << " "
00113 << qua << " "
00114 << lay << " "
00115 << cel << " "
00116 << hv << " "
00117 << tp << " "
00118 << ro << " "
00119 << dc << " -> ";
00120 std::cout << "insert status: " << status << std::endl;
00121 }
00122
00123
00124
00125
00126
00127
00128
00129
00130
00131
00132
00133 cond::Time_t snc = runNumber;
00134 if ( runNumber > last )
00135 m_to_transfer.push_back( std::make_pair( dFlag, snc ) );
00136 else
00137 std::cout << "More recent data already present - skipped" << std::endl;
00138
00139 return;
00140
00141 }
00142
00143
00144 std::string DTDeadFlagHandler::id() const {
00145 return dataTag;
00146 }
00147
00148