Definition at line 46 of file AlignmentMonitorMuonHIP.cc.
typedef TH1F* AlignmentMonitorMuonHIP::TH1FPtr [private] |
Definition at line 56 of file AlignmentMonitorMuonHIP.cc.
typedef TProfile* AlignmentMonitorMuonHIP::TProfilePtr [private] |
Definition at line 57 of file AlignmentMonitorMuonHIP.cc.
AlignmentMonitorMuonHIP::AlignmentMonitorMuonHIP | ( | const edm::ParameterSet & | cfg | ) |
Definition at line 136 of file AlignmentMonitorMuonHIP.cc.
References Exception, edm::ParameterSet::getParameter(), m_book, m_book_after, m_book_before, m_book_conv_phix, m_book_conv_phiy, m_book_conv_phiz, m_book_conv_x, m_book_conv_y, m_book_conv_z, m_book_mode, m_book_nhits_vsiter, m_book_wxresid, m_book_wxresid_vsx, m_book_wxresid_vsy, m_book_wxresidwide, m_book_wyresid, m_book_wyresid_vsx, m_book_wyresid_vsy, m_book_xpull, m_book_xresid, m_book_xresidwide, m_book_ypull, m_book_yresid, m_params, m_params_bins, m_params_iterations, m_params_iterations_high, m_params_iterations_low, m_params_xCSC_high, m_params_xCSC_low, m_params_xDT_high, m_params_xDT_low, m_params_xpull_high, m_params_xpull_low, m_params_xresid_high, m_params_xresid_low, m_params_xresidwide_high, m_params_xresidwide_low, m_params_yCSC_high, m_params_yCSC_low, m_params_yDT_high, m_params_yDT_low, m_params_ypull_high, m_params_ypull_low, m_params_yresid_high, and m_params_yresid_low.
00137 : AlignmentMonitorBase(cfg, "AlignmentMonitorMuonHIP") 00138 , m_params(cfg.getParameter<edm::ParameterSet>("params")) 00139 , m_book(cfg.getParameter<edm::ParameterSet>("book")) 00140 , m_createPythonGeometry(cfg.getParameter<bool>("createPythonGeometry")) 00141 { 00142 m_params_iterations = m_params.getParameter<unsigned int>("iterations"); 00143 m_params_iterations_low = m_params.getParameter<double>("iterations_low"); 00144 m_params_iterations_high = m_params.getParameter<double>("iterations_high"); 00145 m_params_bins = m_params.getParameter<unsigned int>("bins"); 00146 m_params_xresid_low = m_params.getParameter<double>("xresid_low"); 00147 m_params_xresid_high = m_params.getParameter<double>("xresid_high"); 00148 m_params_xresidwide_low = m_params.getParameter<double>("xresidwide_low"); 00149 m_params_xresidwide_high = m_params.getParameter<double>("xresidwide_high"); 00150 m_params_yresid_low = m_params.getParameter<double>("yresid_low"); 00151 m_params_yresid_high = m_params.getParameter<double>("yresid_high"); 00152 m_params_xDT_low = m_params.getParameter<double>("xDT_low"); 00153 m_params_xDT_high = m_params.getParameter<double>("xDT_high"); 00154 m_params_yDT_low = m_params.getParameter<double>("yDT_low"); 00155 m_params_yDT_high = m_params.getParameter<double>("yDT_high"); 00156 m_params_xCSC_low = m_params.getParameter<double>("xCSC_low"); 00157 m_params_xCSC_high = m_params.getParameter<double>("xCSC_high"); 00158 m_params_yCSC_low = m_params.getParameter<double>("yCSC_low"); 00159 m_params_yCSC_high = m_params.getParameter<double>("yCSC_high"); 00160 m_params_xpull_low = m_params.getParameter<double>("xpull_low"); 00161 m_params_xpull_high = m_params.getParameter<double>("xpull_high"); 00162 m_params_ypull_low = m_params.getParameter<double>("ypull_low"); 00163 m_params_ypull_high = m_params.getParameter<double>("ypull_high"); 00164 00165 m_book_mode = m_book.getParameter<std::string>("mode"); 00166 if (m_book_mode != std::string("selected") && 00167 m_book_mode != std::string("disk") && 00168 m_book_mode != std::string("chamber") && 00169 m_book_mode != std::string("layer")) { 00170 throw cms::Exception("BadConfig") << "AlignmentMonitorMuonHIP.book.mode must be \"selected\", \"disk\", \"chamber\", or \"layer\"."; 00171 } 00172 00173 m_book_nhits_vsiter = m_book.getParameter<bool>("nhits_vsiter"); 00174 m_book_conv_x = m_book.getParameter<bool>("conv_x"); 00175 m_book_conv_y = m_book.getParameter<bool>("conv_y"); 00176 m_book_conv_z = m_book.getParameter<bool>("conv_z"); 00177 m_book_conv_phix = m_book.getParameter<bool>("conv_phix"); 00178 m_book_conv_phiy = m_book.getParameter<bool>("conv_phiy"); 00179 m_book_conv_phiz = m_book.getParameter<bool>("conv_phiz"); 00180 m_book_xresid = m_book.getParameter<bool>("xresid"); 00181 m_book_xresidwide = m_book.getParameter<bool>("xresidwide"); 00182 m_book_yresid = m_book.getParameter<bool>("yresid"); 00183 m_book_wxresid = m_book.getParameter<bool>("wxresid"); 00184 m_book_wxresidwide = m_book.getParameter<bool>("wxresidwide"); 00185 m_book_wyresid = m_book.getParameter<bool>("wyresid"); 00186 m_book_wxresid_vsx = m_book.getParameter<bool>("wxresid_vsx"); 00187 m_book_wxresid_vsy = m_book.getParameter<bool>("wxresid_vsy"); 00188 m_book_wyresid_vsx = m_book.getParameter<bool>("wyresid_vsx"); 00189 m_book_wyresid_vsy = m_book.getParameter<bool>("wyresid_vsy"); 00190 m_book_xpull = m_book.getParameter<bool>("xpull"); 00191 m_book_ypull = m_book.getParameter<bool>("ypull"); 00192 m_book_before = m_book.getParameter<bool>("before"); 00193 m_book_after = m_book.getParameter<bool>("after"); 00194 }
AlignmentMonitorMuonHIP::~AlignmentMonitorMuonHIP | ( | ) | [inline] |
void AlignmentMonitorMuonHIP::afterAlignment | ( | const edm::EventSetup & | iSetup | ) | [virtual] |
Called after updating AlignableTracker and AlignableMuon (by "endOfLoop()"): may be reimplemented.
Reimplemented from AlignmentMonitorBase.
Definition at line 807 of file AlignmentMonitorMuonHIP.cc.
References Alignable::alignableObjectId(), AlignmentParameterStore::alignables(), Alignable::alignmentParameters(), muonGeometry::disk, Alignable::displacement(), i, AlignmentMonitorBase::iteration(), j, HIPUserVariables::jtve, HIPUserVariables::jtvj, m_after, m_after_level, m_after_phix, m_after_phixerr, m_after_phiy, m_after_phiyerr, m_after_phiz, m_after_phizerr, m_after_rawid, m_after_x, m_after_xerr, m_after_y, m_after_yerr, m_after_z, m_after_zerr, m_chamber_index, m_conv_phix, m_conv_phiy, m_conv_phiz, m_conv_x, m_conv_y, m_conv_z, m_disk_index, m_layer_index, m_nhits_vsiter, m_rawid, m_wxresid, m_wxresid_vsx, m_wxresid_vsy, m_wxresidwide, m_wyresid, m_wyresid_vsx, m_wyresid_vsy, m_xpull, m_xresid, m_xresidwide, m_ypull, m_yresid, params, AlignmentMonitorBase::pStore(), Alignable::rotation(), AlignmentParameters::selector(), funct::sqrt(), Alignable::surface(), AlignableSurface::toLocal(), AlignmentParameters::userVariables(), PV3DBase< T, PVType, FrameType >::x(), TkRotation< T >::xx(), PV3DBase< T, PVType, FrameType >::y(), TkRotation< T >::yx(), PV3DBase< T, PVType, FrameType >::z(), TkRotation< T >::zx(), TkRotation< T >::zy(), and TkRotation< T >::zz().
00807 { 00808 std::vector<Alignable*> alignables = pStore()->alignables(); 00809 for (std::vector<Alignable*>::const_iterator aliiter = alignables.begin(); aliiter != alignables.end(); ++aliiter) { 00810 Alignable *ali = *aliiter; 00811 std::map<Alignable*, unsigned int>::const_iterator disk = m_disk_index.find(ali); 00812 std::map<Alignable*, unsigned int>::const_iterator chamber = m_chamber_index.find(ali); 00813 std::map<Alignable*, unsigned int>::const_iterator layer = m_layer_index.find(ali); 00814 if (disk != m_disk_index.end() || chamber != m_chamber_index.end() || layer != m_layer_index.end()) { 00815 // The central values of all the alignment positions 00816 LocalVector displacement = ali->surface().toLocal(ali->displacement()); 00817 align::RotationType rotation = ali->surface().toLocal(ali->rotation()); 00818 00820 AlignmentParameters *par = ali->alignmentParameters(); 00821 HIPUserVariables *uservar = dynamic_cast<HIPUserVariables*>(par->userVariables()); 00822 AlgebraicSymMatrix jtvj = uservar->jtvj; 00823 AlgebraicVector jtve = uservar->jtve; 00824 int npar = jtve.num_row(); 00825 00826 int ierr; 00827 AlgebraicSymMatrix jtvjinv = jtvj.inverse(ierr); 00828 AlgebraicVector paramerr(npar); 00829 if (ierr == 0) { 00830 AlgebraicVector params = -(jtvjinv * jtve); 00831 for (int i = 0; i < npar; i++) { 00832 if (fabs(jtvjinv[i][i]) > 0) paramerr[i] = sqrt(fabs(jtvjinv[i][i])); 00833 else paramerr[i] = params[i]; 00834 } 00835 } 00836 else { 00837 for (int i = 0; i < npar; i++) { 00838 paramerr[i] = 0.; 00839 } 00840 } 00841 00842 std::vector<bool> selector = par->selector(); 00843 AlgebraicVector allparamerr(6); 00844 int j = 0; 00845 for (int i = 0; i < 6; i++) { 00846 if (selector[i]) { 00847 allparamerr[i] = paramerr[j]; 00848 j++; 00849 } 00850 else { 00851 allparamerr[i] = 0.; 00852 } 00853 } 00854 00856 00857 double mxx = rotation.xx(); 00858 double myx = rotation.yx(); 00859 double mzx = rotation.zx(); 00860 double mzy = rotation.zy(); 00861 double mzz = rotation.zz(); 00862 double denom = sqrt(1. - mzx*mzx); 00863 00864 m_after_rawid = m_rawid[ali]; 00865 m_after_level = ali->alignableObjectId(); 00866 m_after_x = displacement.x(); 00867 m_after_y = displacement.y(); 00868 m_after_z = displacement.z(); 00869 m_after_phix = atan2(-mzy/denom, mzz/denom); 00870 m_after_phiy = atan2(mzx, denom); 00871 m_after_phiz = atan2(-myx/denom, mxx/denom); 00872 m_after_xerr = allparamerr[0]; 00873 m_after_yerr = allparamerr[1]; 00874 m_after_zerr = allparamerr[2]; 00875 m_after_phixerr = allparamerr[3]; 00876 m_after_phiyerr = allparamerr[4]; 00877 m_after_phizerr = allparamerr[5]; 00878 if (m_after) m_after->Fill(); 00879 00880 std::map<Alignable*, unsigned int>::const_iterator disk = m_disk_index.find(ali); 00881 std::map<Alignable*, unsigned int>::const_iterator chamber = m_chamber_index.find(ali); 00882 std::map<Alignable*, unsigned int>::const_iterator layer = m_layer_index.find(ali); 00883 00884 if (disk != m_disk_index.end()) { 00885 if (m_conv_x[disk->second]) m_conv_x[disk->second]->SetBinContent(iteration() + 1, m_after_x); 00886 if (m_conv_y[disk->second]) m_conv_y[disk->second]->SetBinContent(iteration() + 1, m_after_y); 00887 if (m_conv_z[disk->second]) m_conv_z[disk->second]->SetBinContent(iteration() + 1, m_after_z); 00888 if (m_conv_phix[disk->second]) m_conv_phix[disk->second]->SetBinContent(iteration() + 1, m_after_phix); 00889 if (m_conv_phiy[disk->second]) m_conv_phiy[disk->second]->SetBinContent(iteration() + 1, m_after_phiy); 00890 if (m_conv_phiz[disk->second]) m_conv_phiz[disk->second]->SetBinContent(iteration() + 1, m_after_phiz); 00891 00892 if (m_conv_x[disk->second]) m_conv_x[disk->second]->SetBinError(iteration() + 1, m_after_xerr); 00893 if (m_conv_y[disk->second]) m_conv_y[disk->second]->SetBinError(iteration() + 1, m_after_yerr); 00894 if (m_conv_z[disk->second]) m_conv_z[disk->second]->SetBinError(iteration() + 1, m_after_zerr); 00895 if (m_conv_phix[disk->second]) m_conv_phix[disk->second]->SetBinError(iteration() + 1, m_after_phixerr); 00896 if (m_conv_phiy[disk->second]) m_conv_phiy[disk->second]->SetBinError(iteration() + 1, m_after_phiyerr); 00897 if (m_conv_phiz[disk->second]) m_conv_phiz[disk->second]->SetBinError(iteration() + 1, m_after_phizerr); 00898 } 00899 00900 if (chamber != m_chamber_index.end()) { 00901 if (m_conv_x[chamber->second]) m_conv_x[chamber->second]->SetBinContent(iteration() + 1, m_after_x); 00902 if (m_conv_y[chamber->second]) m_conv_y[chamber->second]->SetBinContent(iteration() + 1, m_after_y); 00903 if (m_conv_z[chamber->second]) m_conv_z[chamber->second]->SetBinContent(iteration() + 1, m_after_z); 00904 if (m_conv_phix[chamber->second]) m_conv_phix[chamber->second]->SetBinContent(iteration() + 1, m_after_phix); 00905 if (m_conv_phiy[chamber->second]) m_conv_phiy[chamber->second]->SetBinContent(iteration() + 1, m_after_phiy); 00906 if (m_conv_phiz[chamber->second]) m_conv_phiz[chamber->second]->SetBinContent(iteration() + 1, m_after_phiz); 00907 00908 if (m_conv_x[chamber->second]) m_conv_x[chamber->second]->SetBinError(iteration() + 1, m_after_xerr); 00909 if (m_conv_y[chamber->second]) m_conv_y[chamber->second]->SetBinError(iteration() + 1, m_after_yerr); 00910 if (m_conv_z[chamber->second]) m_conv_z[chamber->second]->SetBinError(iteration() + 1, m_after_zerr); 00911 if (m_conv_phix[chamber->second]) m_conv_phix[chamber->second]->SetBinError(iteration() + 1, m_after_phixerr); 00912 if (m_conv_phiy[chamber->second]) m_conv_phiy[chamber->second]->SetBinError(iteration() + 1, m_after_phiyerr); 00913 if (m_conv_phiz[chamber->second]) m_conv_phiz[chamber->second]->SetBinError(iteration() + 1, m_after_phizerr); 00914 } 00915 00916 if (layer != m_layer_index.end()) { 00917 if (m_conv_x[layer->second]) m_conv_x[layer->second]->SetBinContent(iteration() + 1, m_after_x); 00918 if (m_conv_y[layer->second]) m_conv_y[layer->second]->SetBinContent(iteration() + 1, m_after_y); 00919 if (m_conv_z[layer->second]) m_conv_z[layer->second]->SetBinContent(iteration() + 1, m_after_z); 00920 if (m_conv_phix[layer->second]) m_conv_phix[layer->second]->SetBinContent(iteration() + 1, m_after_phix); 00921 if (m_conv_phiy[layer->second]) m_conv_phiy[layer->second]->SetBinContent(iteration() + 1, m_after_phiy); 00922 if (m_conv_phiz[layer->second]) m_conv_phiz[layer->second]->SetBinContent(iteration() + 1, m_after_phiz); 00923 00924 if (m_conv_x[layer->second]) m_conv_x[layer->second]->SetBinError(iteration() + 1, m_after_xerr); 00925 if (m_conv_y[layer->second]) m_conv_y[layer->second]->SetBinError(iteration() + 1, m_after_yerr); 00926 if (m_conv_z[layer->second]) m_conv_z[layer->second]->SetBinError(iteration() + 1, m_after_zerr); 00927 if (m_conv_phix[layer->second]) m_conv_phix[layer->second]->SetBinError(iteration() + 1, m_after_phixerr); 00928 if (m_conv_phiy[layer->second]) m_conv_phiy[layer->second]->SetBinError(iteration() + 1, m_after_phiyerr); 00929 if (m_conv_phiz[layer->second]) m_conv_phiz[layer->second]->SetBinError(iteration() + 1, m_after_phizerr); 00930 } 00931 00932 } // end if this is a DT or CSC 00933 } // end loop over alignables 00934 00935 delete [] m_nhits_vsiter; 00936 delete [] m_conv_x; 00937 delete [] m_conv_y; 00938 delete [] m_conv_z; 00939 delete [] m_conv_phix; 00940 delete [] m_conv_phiy; 00941 delete [] m_conv_phiz; 00942 delete [] m_xresid; 00943 delete [] m_xresidwide; 00944 delete [] m_yresid; 00945 delete [] m_wxresid; 00946 delete [] m_wxresidwide; 00947 delete [] m_wyresid; 00948 delete [] m_wxresid_vsx; 00949 delete [] m_wxresid_vsy; 00950 delete [] m_wyresid_vsx; 00951 delete [] m_wyresid_vsy; 00952 delete [] m_xpull; 00953 delete [] m_ypull; 00954 00955 // The histograms themselves are deleted by the base class. 00956 }
void AlignmentMonitorMuonHIP::book | ( | ) | [virtual] |
Book or retrieve histograms; MUST be reimplemented.
Implements AlignmentMonitorBase.
Definition at line 204 of file AlignmentMonitorMuonHIP.cc.
References AlignmentParameterStore::alignables(), AlignmentMonitorBase::book1D(), bookByAli(), Alignable::components(), createPythonGeometry(), AlignableMuon::CSCChambers(), AlignableMuon::CSCLayers(), AlignableMuon::CSCStations(), dir, AlignmentMonitorBase::directory(), muonGeometry::disk, AlignableMuon::DTChambers(), AlignableMuon::DTSuperLayers(), AlignableMuon::DTWheels(), lat::endl(), Alignable::geomDetId(), index, AlignmentMonitorBase::iteration(), m_after, m_after_level, m_after_phix, m_after_phixerr, m_after_phiy, m_after_phiyerr, m_after_phiz, m_after_phizerr, m_after_rawid, m_after_x, m_after_xerr, m_after_y, m_after_yerr, m_after_z, m_after_zerr, m_before, m_before_level, m_before_phix, m_before_phiy, m_before_phiz, m_before_rawid, m_before_x, m_before_y, m_before_z, m_book_after, m_book_before, m_book_mode, m_chamber_index, m_conv_phix, m_conv_phiy, m_conv_phiz, m_conv_x, m_conv_y, m_conv_z, m_createPythonGeometry, m_disk_index, m_layer_index, m_nhits_vsiter, m_numHistograms, m_params_bins, m_params_xpull_high, m_params_xpull_low, m_params_xresid_high, m_params_xresid_low, m_params_xresidwide_high, m_params_xresidwide_low, m_params_ypull_high, m_params_ypull_low, m_params_yresid_high, m_params_yresid_low, m_rawid, m_wxresid, m_wxresid_vsx, m_wxresid_vsy, m_wxresidwide, m_wyresid, m_wyresid_vsx, m_wyresid_vsy, m_xpull, m_xresid, m_xresidwide, m_ypull, m_yresid, TFileDirectory::make(), Alignable::mother(), name, NULL, AlignmentMonitorBase::pMuon(), AlignmentMonitorBase::pStore(), DetId::rawId(), funct::sqrt(), indexGen::title, PV3DBase< T, PVType, FrameType >::x(), TkRotation< T >::xx(), PV3DBase< T, PVType, FrameType >::y(), TkRotation< T >::yx(), PV3DBase< T, PVType, FrameType >::z(), TkRotation< T >::zx(), TkRotation< T >::zy(), and TkRotation< T >::zz().
00204 { 00206 // Make histograms based on the selected alignables. This will make 00207 // files for layer-by-layer alignments huge and disk-by-wheel 00208 // alignments tiny. 00210 00211 unsigned int index = 0; // merge EVERYTHING (good for a quick look in the TBrowser) 00212 index++; 00213 00214 std::vector<Alignable*> alignables; 00215 if (m_book_mode == std::string("selected")) { 00216 alignables = pStore()->alignables(); 00217 } 00218 else if (m_book_mode == std::string("disk")) { 00219 alignables = pMuon()->DTWheels(); 00220 00221 std::vector<Alignable*> more = pMuon()->CSCStations(); 00222 for (std::vector<Alignable*>::const_iterator miter = more.begin(); miter != more.end(); ++miter) { 00223 alignables.push_back(*miter); 00224 } 00225 } 00226 else if (m_book_mode == std::string("chamber")) { 00227 alignables = pMuon()->DTChambers(); 00228 00229 std::vector<Alignable*> more = pMuon()->CSCChambers(); 00230 for (std::vector<Alignable*>::const_iterator miter = more.begin(); miter != more.end(); ++miter) { 00231 alignables.push_back(*miter); 00232 } 00233 } 00234 else if (m_book_mode == std::string("layer")) { 00235 alignables = pMuon()->DTSuperLayers(); 00236 00237 std::vector<Alignable*> more = pMuon()->CSCLayers(); 00238 for (std::vector<Alignable*>::const_iterator miter = more.begin(); miter != more.end(); ++miter) { 00239 alignables.push_back(*miter); 00240 } 00241 } 00242 00243 for (std::vector<Alignable*>::const_iterator aliiter = alignables.begin(); aliiter != alignables.end(); ++aliiter) { 00244 Alignable *ali = *aliiter; 00245 00246 // Sorry, histogramming code needs to be very specific. If the 00247 // plots were abstract and generic, what could we learn from them? 00248 if (ali->mother() != NULL) { 00249 AlignableDTChamber *dtSuperLayer_mother = dynamic_cast<AlignableDTChamber*>(ali->mother()); 00250 AlignableCSCChamber *cscLayer_mother = dynamic_cast<AlignableCSCChamber*>(ali->mother()); 00251 if (dtSuperLayer_mother || cscLayer_mother) { 00252 m_layer_index[ali] = index; 00253 m_rawid[ali] = ali->geomDetId().rawId(); 00254 index++; 00255 ali = ali->mother(); 00256 } 00257 } 00258 00259 AlignableDTChamber *dtChamber = dynamic_cast<AlignableDTChamber*>(ali); 00260 AlignableCSCChamber *cscChamber = dynamic_cast<AlignableCSCChamber*>(ali); 00261 if (dtChamber || cscChamber) { 00262 m_chamber_index[ali] = index; 00263 m_rawid[ali] = ali->geomDetId().rawId(); 00264 index++; 00265 ali = ali->mother(); 00266 00267 if (dtChamber) ali = ali->mother(); // Skip station level 00268 // if (cscChamber) ali = ali->mother(); // No (real) station level to skip (yet?) 00269 } 00270 00271 AlignableDTWheel *dtWheel = dynamic_cast<AlignableDTWheel*>(ali); 00272 AlignableCSCStation *cscDisk = dynamic_cast<AlignableCSCStation*>(ali); 00273 00274 if (dtWheel || cscDisk) { 00275 m_disk_index[ali] = index; 00276 00277 Alignable *descend = ali; 00278 while (true) { 00279 std::vector<Alignable*> components = descend->components(); 00280 if (components.size() > 0) { 00281 descend = components[0]; 00282 m_rawid[ali] = descend->geomDetId().rawId(); 00283 if (m_rawid[ali] != 0) break; 00284 } 00285 else { 00286 edm::LogError("AlignmentMonitorMuonHIP") 00287 << "Something happened to the topology of the Alignable tree: I find a" << std::endl 00288 << "DTWheel or a CSCDisk (a.k.a. CSCStation) without components containing DetIds" << std::endl; 00289 static int wheeldiskNumber = 0; 00290 wheeldiskNumber++; 00291 m_rawid[ali] = wheeldiskNumber; 00292 } 00293 } 00294 00295 index++; 00296 ali = ali->mother(); 00297 } 00298 } 00299 m_numHistograms = index; 00300 00301 if (m_numHistograms == 0) { 00302 edm::LogError("AlignmentMonitorMuonHIP") 00303 << "================================================================================" << std::endl 00304 << "==== Generating no (zero) histograms (nada, the big zip-a-dee-doo-da) ===" << std::endl 00305 << "==== (is this what you want?!?!?) ===" << std::endl 00306 << "================================================================================" << std::endl; 00307 } 00308 00310 // Now we know how many histograms there are and have a quick-lookup 00312 00313 m_nhits_vsiter = new TH1FPtr[m_numHistograms]; 00314 m_conv_x = new TH1FPtr[m_numHistograms]; 00315 m_conv_y = new TH1FPtr[m_numHistograms]; 00316 m_conv_z = new TH1FPtr[m_numHistograms]; 00317 m_conv_phix = new TH1FPtr[m_numHistograms]; 00318 m_conv_phiy = new TH1FPtr[m_numHistograms]; 00319 m_conv_phiz = new TH1FPtr[m_numHistograms]; 00320 m_xresid = new TH1FPtr[m_numHistograms]; 00321 m_xresidwide = new TH1FPtr[m_numHistograms]; 00322 m_yresid = new TH1FPtr[m_numHistograms]; 00323 m_wxresid = new TH1FPtr[m_numHistograms]; 00324 m_wxresidwide = new TH1FPtr[m_numHistograms]; 00325 m_wyresid = new TH1FPtr[m_numHistograms]; 00326 m_wxresid_vsx = new TProfilePtr[m_numHistograms]; 00327 m_wxresid_vsy = new TProfilePtr[m_numHistograms]; 00328 m_wyresid_vsx = new TProfilePtr[m_numHistograms]; 00329 m_wyresid_vsy = new TProfilePtr[m_numHistograms]; 00330 m_xpull = new TH1FPtr[m_numHistograms]; 00331 m_ypull = new TH1FPtr[m_numHistograms]; 00332 00334 // These three loops book most of the histograms 00336 00337 for (std::map<Alignable*, unsigned int>::const_iterator aliint = m_disk_index.begin(); aliint != m_disk_index.end(); ++aliint) { 00338 bookByAli("disk", m_rawid[aliint->first], aliint->second); 00339 } 00340 00341 for (std::map<Alignable*, unsigned int>::const_iterator aliint = m_chamber_index.begin(); aliint != m_chamber_index.end(); ++aliint) { 00342 bookByAli("chamber", m_rawid[aliint->first], aliint->second); 00343 } 00344 00345 for (std::map<Alignable*, unsigned int>::const_iterator aliint = m_layer_index.begin(); aliint != m_layer_index.end(); ++aliint) { 00346 bookByAli("layer", m_rawid[aliint->first], aliint->second); 00347 } 00348 00350 // Handle the zero case (plot everything) for *some* histograms 00352 00353 m_nhits_vsiter[0] = NULL; 00354 m_conv_x[0] = NULL; 00355 m_conv_y[0] = NULL; 00356 m_conv_z[0] = NULL; 00357 m_conv_phix[0] = NULL; 00358 m_conv_phiy[0] = NULL; 00359 m_conv_phiz[0] = NULL; 00360 00361 char dir[256], name[256], title[256]; 00362 sprintf(dir, "/iterN/"); 00363 sprintf(name, "xresid"); 00364 sprintf(title, "x residual for iteration %d", iteration()); 00365 m_xresid[0] = book1D(dir, name, title, m_params_bins, m_params_xresid_low, m_params_xresid_high); 00366 00367 sprintf(dir, "/iterN/"); 00368 sprintf(name, "xresidwide"); 00369 sprintf(title, "x residual for iteration %d", iteration()); 00370 m_xresidwide[0] = book1D(dir, name, title, m_params_bins, m_params_xresidwide_low, m_params_xresidwide_high); 00371 00372 sprintf(dir, "/iterN/"); 00373 sprintf(name, "yresid"); 00374 sprintf(title, "y residual for iteration %d", iteration()); 00375 m_yresid[0] = book1D(dir, name, title, m_params_bins, m_params_yresid_low, m_params_yresid_high); 00376 00377 sprintf(dir, "/iterN/"); 00378 sprintf(name, "wxresid"); 00379 sprintf(title, "Weighted x residual for iteration %d", iteration()); 00380 m_wxresid[0] = book1D(dir, name, title, m_params_bins, m_params_xresid_low, m_params_xresid_high); 00381 00382 sprintf(dir, "/iterN/"); 00383 sprintf(name, "wxresidwide"); 00384 sprintf(title, "Weighted x residual for iteration %d", iteration()); 00385 m_wxresidwide[0] = book1D(dir, name, title, m_params_bins, m_params_xresidwide_low, m_params_xresidwide_high); 00386 00387 sprintf(dir, "/iterN/"); 00388 sprintf(name, "wyresid"); 00389 sprintf(title, "Weighted y residual for iteration %d", iteration()); 00390 m_wyresid[0] = book1D(dir, name, title, m_params_bins, m_params_yresid_low, m_params_yresid_high); 00391 00392 m_wxresid_vsx[0] = NULL; 00393 m_wxresid_vsy[0] = NULL; 00394 m_wyresid_vsx[0] = NULL; 00395 m_wyresid_vsy[0] = NULL; 00396 00397 sprintf(dir, "/iterN/"); 00398 sprintf(name, "xpull"); 00399 sprintf(title, "x pull distribution for iteration %d", iteration()); 00400 m_xpull[0] = book1D(dir, name, title, m_params_bins, m_params_xpull_low, m_params_xpull_high); 00401 00402 sprintf(dir, "/iterN/"); 00403 sprintf(name, "ypull"); 00404 sprintf(title, "y pull distribution for iteration %d", iteration()); 00405 m_ypull[0] = book1D(dir, name, title, m_params_bins, m_params_ypull_low, m_params_ypull_high); 00406 00408 // Finally, book the alignable-wise ntuple and fill "before" 00410 00411 if (m_book_before) { 00412 m_before = directory("/iterN/")->make<TTree>("before", "positions before iteration"); 00413 m_before->Branch("rawid", &m_before_rawid, "rawid/I"); 00414 m_before->Branch("level", &m_before_level, "level/I"); 00415 m_before->Branch("x", &m_before_x, "x/F"); 00416 m_before->Branch("y", &m_before_y, "y/F"); 00417 m_before->Branch("z", &m_before_z, "z/F"); 00418 m_before->Branch("phix", &m_before_phix, "phix/F"); 00419 m_before->Branch("phiy", &m_before_phiy, "phiy/F"); 00420 m_before->Branch("phiz", &m_before_phiz, "phiz/F"); 00421 } 00422 else { 00423 m_before = NULL; 00424 } 00425 00426 if (m_book_after) { 00427 m_after = directory("/iterN/")->make<TTree>("after", "positions before iteration"); 00428 m_after->Branch("rawid", &m_after_rawid, "rawid/I"); 00429 m_after->Branch("level", &m_after_level, "level/I"); 00430 m_after->Branch("x", &m_after_x, "x/F"); 00431 m_after->Branch("xerr", &m_after_xerr, "xerr/F"); 00432 m_after->Branch("y", &m_after_y, "y/F"); 00433 m_after->Branch("yerr", &m_after_yerr, "yerr/F"); 00434 m_after->Branch("z", &m_after_z, "z/F"); 00435 m_after->Branch("zerr", &m_after_zerr, "zerr/F"); 00436 m_after->Branch("phix", &m_after_phix, "phix/F"); 00437 m_after->Branch("phixerr", &m_after_phixerr, "phixerr/F"); 00438 m_after->Branch("phiy", &m_after_phiy, "phiy/F"); 00439 m_after->Branch("phiyerr", &m_after_phiyerr, "phiyerr/F"); 00440 m_after->Branch("phiz", &m_after_phiz, "phiz/F"); 00441 m_after->Branch("phizerr", &m_after_phizerr, "phizerr/F"); 00442 } 00443 else { 00444 m_after = NULL; 00445 } 00446 00447 for (std::vector<Alignable*>::const_iterator aliiter = alignables.begin(); aliiter != alignables.end(); ++aliiter) { 00448 for (Alignable *ali = *aliiter; ali != NULL; ali = ali->mother()) { 00449 std::map<Alignable*, unsigned int>::const_iterator disk = m_disk_index.find(ali); 00450 std::map<Alignable*, unsigned int>::const_iterator chamber = m_chamber_index.find(ali); 00451 std::map<Alignable*, unsigned int>::const_iterator layer = m_layer_index.find(ali); 00452 00453 LocalVector displacement = ali->surface().toLocal(ali->displacement()); 00454 align::RotationType rotation = ali->surface().toLocal(ali->rotation()); 00455 00456 double mxx = rotation.xx(); 00457 double myx = rotation.yx(); 00458 double mzx = rotation.zx(); 00459 double mzy = rotation.zy(); 00460 double mzz = rotation.zz(); 00461 double denom = sqrt(1. - mzx*mzx); 00462 00463 m_before_rawid = m_rawid[ali]; 00464 m_before_level = ali->alignableObjectId(); 00465 m_before_x = displacement.x(); 00466 m_before_y = displacement.y(); 00467 m_before_z = displacement.z(); 00468 m_before_phix = atan2(-mzy/denom, mzz/denom); 00469 m_before_phiy = atan2(mzx, denom); 00470 m_before_phiz = atan2(-myx/denom, mxx/denom); 00471 if (m_before) m_before->Fill(); 00472 00473 if (disk != m_disk_index.end() || chamber != m_chamber_index.end() || layer != m_layer_index.end()) { 00474 00475 if (iteration() == 1) { 00476 if (disk != m_disk_index.end()) { 00477 if (m_conv_x[disk->second]) m_conv_x[disk->second]->SetBinContent(1, m_before_x); 00478 if (m_conv_y[disk->second]) m_conv_y[disk->second]->SetBinContent(1, m_before_y); 00479 if (m_conv_z[disk->second]) m_conv_z[disk->second]->SetBinContent(1, m_before_z); 00480 if (m_conv_phix[disk->second]) m_conv_phix[disk->second]->SetBinContent(1, m_before_phix); 00481 if (m_conv_phiy[disk->second]) m_conv_phiy[disk->second]->SetBinContent(1, m_before_phiy); 00482 if (m_conv_phiz[disk->second]) m_conv_phiz[disk->second]->SetBinContent(1, m_before_phiz); 00483 } 00484 00485 if (chamber != m_chamber_index.end()) { 00486 if (m_conv_x[chamber->second]) m_conv_x[chamber->second]->SetBinContent(1, m_before_x); 00487 if (m_conv_y[chamber->second]) m_conv_y[chamber->second]->SetBinContent(1, m_before_y); 00488 if (m_conv_z[chamber->second]) m_conv_z[chamber->second]->SetBinContent(1, m_before_z); 00489 if (m_conv_phix[chamber->second]) m_conv_phix[chamber->second]->SetBinContent(1, m_before_phix); 00490 if (m_conv_phiy[chamber->second]) m_conv_phiy[chamber->second]->SetBinContent(1, m_before_phiy); 00491 if (m_conv_phiz[chamber->second]) m_conv_phiz[chamber->second]->SetBinContent(1, m_before_phiz); 00492 } 00493 00494 if (layer != m_layer_index.end()) { 00495 if (m_conv_x[layer->second]) m_conv_x[layer->second]->SetBinContent(1, m_before_x); 00496 if (m_conv_y[layer->second]) m_conv_y[layer->second]->SetBinContent(1, m_before_y); 00497 if (m_conv_z[layer->second]) m_conv_z[layer->second]->SetBinContent(1, m_before_z); 00498 if (m_conv_phix[layer->second]) m_conv_phix[layer->second]->SetBinContent(1, m_before_phix); 00499 if (m_conv_phiy[layer->second]) m_conv_phiy[layer->second]->SetBinContent(1, m_before_phiy); 00500 if (m_conv_phiz[layer->second]) m_conv_phiz[layer->second]->SetBinContent(1, m_before_phiz); 00501 } 00502 } // end if this is iteration 1 00503 } // end if we have a histogram for this alignable 00504 } // end ascent to topmost alignable 00505 } // end loop over alignables 00506 00507 if (m_createPythonGeometry) createPythonGeometry(); 00508 }
void AlignmentMonitorMuonHIP::bookByAli | ( | const char * | level, | |
const int | rawid, | |||
const unsigned int | index | |||
) | [private] |
Definition at line 510 of file AlignmentMonitorMuonHIP.cc.
References AlignmentMonitorBase::book1D(), AlignmentMonitorBase::bookProfile(), CSCDetId::chamber(), dir, MuonSubdetId::DT, CSCDetId::endcap(), AlignmentMonitorBase::iteration(), m_book_conv_phix, m_book_conv_phiy, m_book_conv_phiz, m_book_conv_x, m_book_conv_y, m_book_conv_z, m_book_mode, m_book_nhits_vsiter, m_book_wxresid, m_book_wxresid_vsx, m_book_wxresid_vsy, m_book_wxresidwide, m_book_wyresid, m_book_wyresid_vsx, m_book_wyresid_vsy, m_book_xpull, m_book_xresid, m_book_xresidwide, m_book_ypull, m_book_yresid, m_conv_phix, m_conv_phiy, m_conv_phiz, m_conv_x, m_conv_y, m_conv_z, m_nhits_vsiter, m_params_bins, m_params_iterations, m_params_iterations_high, m_params_iterations_low, m_params_xCSC_high, m_params_xCSC_low, m_params_xDT_high, m_params_xDT_low, m_params_xpull_high, m_params_xpull_low, m_params_xresid_high, m_params_xresid_low, m_params_xresidwide_high, m_params_xresidwide_low, m_params_yCSC_high, m_params_yCSC_low, m_params_yDT_high, m_params_yDT_low, m_params_ypull_high, m_params_ypull_low, m_params_yresid_high, m_params_yresid_low, m_wxresid, m_wxresid_vsx, m_wxresid_vsy, m_wxresidwide, m_wyresid, m_wyresid_vsx, m_wyresid_vsy, m_xpull, m_xresid, m_xresidwide, m_ypull, m_yresid, name, NULL, CSCDetId::ring(), DTChamberId::sector(), CSCDetId::station(), DTChamberId::station(), indexGen::title, and DTChamberId::wheel().
Referenced by book().
00510 { 00511 bool dt = (DetId(rawid).subdetId() == MuonSubdetId::DT); 00512 00513 char dir[256], name[256], title[256], chambername[256]; 00514 00515 if (m_book_mode == std::string("chamber")) { 00516 if (dt) { 00517 DTChamberId dtId(rawid); 00518 sprintf(chambername, "MB%d/%d (%d)", dtId.wheel(), dtId.station(), dtId.sector()); 00519 } 00520 else { 00521 CSCDetId cscId(rawid); 00522 sprintf(chambername, "ME%d/%d (%d)", (cscId.endcap() == 1 ? 1 : -1) * cscId.station(), cscId.ring(), cscId.chamber()); 00523 } 00524 } 00525 else { 00526 sprintf(chambername, "%d", rawid); 00527 } 00528 00529 if (m_book_nhits_vsiter) { 00530 sprintf(dir, "/nhits_vsiter_%s/", level); 00531 sprintf(name, "nhits_vsiter_%s_%d", level, rawid); 00532 sprintf(title, "Number of hits on %s %s vs iteration", level, chambername); 00533 m_nhits_vsiter[index] = book1D(dir, name, title, m_params_iterations, m_params_iterations_low, m_params_iterations_high); 00534 } 00535 else { 00536 m_nhits_vsiter[index] = NULL; 00537 } 00538 00539 if (m_book_conv_x) { 00540 sprintf(dir, "/conv_x_%s/", level); 00541 sprintf(name, "conv_x_%s_%d", level, rawid); 00542 sprintf(title, "Convergence in x of %s %s vs iteration", level, chambername); 00543 m_conv_x[index] = book1D(dir, name, title, m_params_iterations, m_params_iterations_low, m_params_iterations_high); 00544 } 00545 else { 00546 m_conv_x[index] = NULL; 00547 } 00548 00549 if (m_book_conv_y) { 00550 sprintf(dir, "/conv_y_%s/", level); 00551 sprintf(name, "conv_y_%s_%d", level, rawid); 00552 sprintf(title, "Convergence in y of %s %s vs iteration", level, chambername); 00553 m_conv_y[index] = book1D(dir, name, title, m_params_iterations, m_params_iterations_low, m_params_iterations_high); 00554 } 00555 else { 00556 m_conv_y[index] = NULL; 00557 } 00558 00559 if (m_book_conv_z) { 00560 sprintf(dir, "/conv_z_%s/", level); 00561 sprintf(name, "conv_z_%s_%d", level, rawid); 00562 sprintf(title, "Convergence in z of %s %s vs iteration", level, chambername); 00563 m_conv_z[index] = book1D(dir, name, title, m_params_iterations, m_params_iterations_low, m_params_iterations_high); 00564 } 00565 else { 00566 m_conv_z[index] = NULL; 00567 } 00568 00569 if (m_book_conv_phix) { 00570 sprintf(dir, "/conv_phix_%s/", level); 00571 sprintf(name, "conv_phix_%s_%d", level, rawid); 00572 sprintf(title, "Convergence in phix of %s %s vs iteration", level, chambername); 00573 m_conv_phix[index] = book1D(dir, name, title, m_params_iterations, m_params_iterations_low, m_params_iterations_high); 00574 } 00575 else { 00576 m_conv_phix[index] = NULL; 00577 } 00578 00579 if (m_book_conv_phiy) { 00580 sprintf(dir, "/conv_phiy_%s/", level); 00581 sprintf(name, "conv_phiy_%s_%d", level, rawid); 00582 sprintf(title, "Convergence in phiy of %s %s vs iteration", level, chambername); 00583 m_conv_phiy[index] = book1D(dir, name, title, m_params_iterations, m_params_iterations_low, m_params_iterations_high); 00584 } 00585 else { 00586 m_conv_phiy[index] = NULL; 00587 } 00588 00589 if (m_book_conv_phiz) { 00590 sprintf(dir, "/conv_phiz_%s/", level); 00591 sprintf(name, "conv_phiz_%s_%d", level, rawid); 00592 sprintf(title, "Convergence in phiz of %s %s vs iteration", level, chambername); 00593 m_conv_phiz[index] = book1D(dir, name, title, m_params_iterations, m_params_iterations_low, m_params_iterations_high); 00594 } 00595 else { 00596 m_conv_phiz[index] = NULL; 00597 } 00598 00599 if (m_book_xresid) { 00600 sprintf(dir, "/iterN/xresid_%s/", level); 00601 sprintf(name, "xresid_%s_%d", level, rawid); 00602 sprintf(title, "x residual on %s %s for iteration %d", level, chambername, iteration()); 00603 m_xresid[index] = book1D(dir, name, title, m_params_bins, m_params_xresid_low, m_params_xresid_high); 00604 } 00605 else { 00606 m_xresid[index] = NULL; 00607 } 00608 00609 if (m_book_xresidwide) { 00610 sprintf(dir, "/iterN/xresidwide_%s/", level); 00611 sprintf(name, "xresidwide_%s_%d", level, rawid); 00612 sprintf(title, "x residual on %s %s for iteration %d", level, chambername, iteration()); 00613 m_xresidwide[index] = book1D(dir, name, title, m_params_bins, m_params_xresidwide_low, m_params_xresidwide_high); 00614 } 00615 else { 00616 m_xresidwide[index] = NULL; 00617 } 00618 00619 if (m_book_yresid && !dt) { 00620 sprintf(dir, "/iterN/yresid_%s/", level); 00621 sprintf(name, "yresid_%s_%d", level, rawid); 00622 sprintf(title, "y residual on %s %s for iteration %d", level, chambername, iteration()); 00623 m_yresid[index] = book1D(dir, name, title, m_params_bins, m_params_yresid_low, m_params_yresid_high); 00624 } 00625 else { 00626 m_yresid[index] = NULL; 00627 } 00628 00629 if (m_book_wxresid) { 00630 sprintf(dir, "/iterN/wxresid_%s/", level); 00631 sprintf(name, "wxresid_%s_%d", level, rawid); 00632 sprintf(title, "Weighted x residual on %s %s for iteration %d", level, chambername, iteration()); 00633 m_wxresid[index] = book1D(dir, name, title, m_params_bins, m_params_xresid_low, m_params_xresid_high); 00634 } 00635 else { 00636 m_wxresid[index] = NULL; 00637 } 00638 00639 if (m_book_wxresidwide) { 00640 sprintf(dir, "/iterN/wxresidwide_%s/", level); 00641 sprintf(name, "wxresidwide_%s_%d", level, rawid); 00642 sprintf(title, "Weighted x residual on %s %s for iteration %d", level, chambername, iteration()); 00643 m_wxresidwide[index] = book1D(dir, name, title, m_params_bins, m_params_xresidwide_low, m_params_xresidwide_high); 00644 } 00645 else { 00646 m_wxresidwide[index] = NULL; 00647 } 00648 00649 if (m_book_wyresid && !dt) { 00650 sprintf(dir, "/iterN/wyresid_%s/", level); 00651 sprintf(name, "wyresid_%s_%d", level, rawid); 00652 sprintf(title, "Weighted y residual on %s %s for iteration %d", level, chambername, iteration()); 00653 m_wyresid[index] = book1D(dir, name, title, m_params_bins, m_params_yresid_low, m_params_yresid_high); 00654 } 00655 else { 00656 m_wyresid[index] = NULL; 00657 } 00658 00659 if (m_book_wxresid_vsx) { 00660 sprintf(dir, "/iterN/wxresid_vsx_%s/", level); 00661 sprintf(name, "wxresid_vsx_%s_%d", level, rawid); 00662 sprintf(title, "Weighted x residual vs track's x on %s %s for iteration %d", level, chambername, iteration()); 00663 m_wxresid_vsx[index] = bookProfile(dir, name, title, m_params_bins, (dt? m_params_xDT_low: m_params_xCSC_low), (dt? m_params_xDT_high: m_params_xCSC_high), 1, m_params_xresidwide_low, m_params_xresidwide_high); 00664 } 00665 else { 00666 m_wxresid_vsx[index] = NULL; 00667 } 00668 00669 if (m_book_wxresid_vsy) { 00670 sprintf(dir, "/iterN/wxresid_vsy_%s/", level); 00671 sprintf(name, "wxresid_vsy_%s_%d", level, rawid); 00672 sprintf(title, "Weighted x residual vs track's y on %s %s for iteration %d", level, chambername, iteration()); 00673 m_wxresid_vsy[index] = bookProfile(dir, name, title, m_params_bins, (dt? m_params_yDT_low: m_params_yCSC_low), (dt? m_params_yDT_high: m_params_yCSC_high), 1, m_params_xresidwide_low, m_params_xresidwide_high); 00674 } 00675 else { 00676 m_wxresid_vsy[index] = NULL; 00677 } 00678 00679 if (m_book_wyresid_vsx && !dt) { 00680 sprintf(dir, "/iterN/wyresid_vsx_%s/", level); 00681 sprintf(name, "wyresid_vsx_%s_%d", level, rawid); 00682 sprintf(title, "Weighted y residual vs track's x on %s %s for iteration %d", level, chambername, iteration()); 00683 m_wyresid_vsx[index] = bookProfile(dir, name, title, m_params_bins, (dt? m_params_xDT_low: m_params_xCSC_low), (dt? m_params_xDT_high: m_params_xCSC_high), 1, m_params_yresid_low, m_params_yresid_high); 00684 } 00685 else { 00686 m_wyresid_vsx[index] = NULL; 00687 } 00688 00689 if (m_book_wyresid_vsy && !dt) { 00690 sprintf(dir, "/iterN/wyresid_vsy_%s/", level); 00691 sprintf(name, "wyresid_vsy_%s_%d", level, rawid); 00692 sprintf(title, "Weighted y residual vs track's y on %s %s for iteration %d", level, chambername, iteration()); 00693 m_wyresid_vsy[index] = bookProfile(dir, name, title, m_params_bins, (dt? m_params_yDT_low: m_params_yCSC_low), (dt? m_params_yDT_high: m_params_yCSC_high), 1, m_params_yresid_low, m_params_yresid_high); 00694 } 00695 else { 00696 m_wyresid_vsy[index] = NULL; 00697 } 00698 00699 if (m_book_xpull) { 00700 sprintf(dir, "/iterN/xpull_%s/", level); 00701 sprintf(name, "xpull_%s_%d", level, rawid); 00702 sprintf(title, "x pull distribution on %s %s for iteration %d", level, chambername, iteration()); 00703 m_xpull[index] = book1D(dir, name, title, m_params_bins, m_params_xpull_low, m_params_xpull_high); 00704 } 00705 else { 00706 m_xpull[index] = NULL; 00707 } 00708 00709 if (m_book_ypull && !dt) { 00710 sprintf(dir, "/iterN/ypull_%s/", level); 00711 sprintf(name, "ypull_%s_%d", level, rawid); 00712 sprintf(title, "y pull distribution on %s %s for iteration %d", level, chambername, iteration()); 00713 m_ypull[index] = book1D(dir, name, title, m_params_bins, m_params_ypull_low, m_params_ypull_high); 00714 } 00715 else { 00716 m_ypull[index] = NULL; 00717 } 00718 }
void AlignmentMonitorMuonHIP::createPythonGeometry | ( | ) | [private] |
Definition at line 958 of file AlignmentMonitorMuonHIP.cc.
References CSCDetId::chamber(), MuonSubdetId::CSC, muonGeometry::disk, MuonSubdetId::DT, CSCDetId::endcap(), lat::endl(), CSCDetId::layer(), m_chamber_index, m_disk_index, m_layer_index, m_rawid, CSCDetId::ring(), DTChamberId::sector(), DTChamberId::station(), CSCDetId::station(), DTSuperLayerId::superLayer(), DTChamberId::wheel(), PV3DBase< T, PVType, FrameType >::x(), muonGeometry::xhat, PV3DBase< T, PVType, FrameType >::y(), muonGeometry::yhat, PV3DBase< T, PVType, FrameType >::z(), and muonGeometry::zhat.
Referenced by book().
00958 { 00959 edm::LogInfo("AlignmentMonitorMuonHIP") << "Creating Python geometry." << std::endl; 00960 ofstream python("muonGeometryData.py"); 00961 00962 for (std::map<Alignable*, unsigned int>::const_iterator disk = m_disk_index.begin(); disk != m_disk_index.end(); ++disk) { 00963 Alignable *ali = disk->first; 00964 DetId id = DetId(m_rawid[ali]); 00965 00966 python << "disks[" << id.rawId() << "] = "; 00967 if (id.subdetId() == MuonSubdetId::DT) { 00968 DTChamberId chamberId(id.rawId()); 00969 python << "Disk(" << id.rawId() << ", 0).setDT(" << chamberId.wheel() << ")"; 00970 } 00971 else if (id.subdetId() == MuonSubdetId::CSC) { 00972 CSCDetId chamberId(id.rawId()); 00973 python << "Disk(" << id.rawId() << ", " << (chamberId.endcap() == 1? 1: -1) << ").setCSC(" << (chamberId.endcap() == 1? 1: -1)*chamberId.station() << ")"; 00974 } 00975 00976 GlobalPoint location = ali->surface().toGlobal(LocalPoint(0., 0., 0.)); 00977 GlobalVector xhat = ali->surface().toGlobal(LocalVector(1., 0., 0.)); 00978 GlobalVector yhat = ali->surface().toGlobal(LocalVector(0., 1., 0.)); 00979 GlobalVector zhat = ali->surface().toGlobal(LocalVector(0., 0., 1.)); 00980 python << ".setLoc(" << location.x() << ", " << location.y() << ", " << location.z() << ")"; 00981 python << ".setXhat(" << xhat.x() << ", " << xhat.y() << ", " << xhat.z() << ")"; 00982 python << ".setYhat(" << yhat.x() << ", " << yhat.y() << ", " << yhat.z() << ")"; 00983 python << ".setZhat(" << zhat.x() << ", " << zhat.y() << ", " << zhat.z() << ")" << std::endl; 00984 } 00985 00986 for (std::map<Alignable*, unsigned int>::const_iterator chamber = m_chamber_index.begin(); chamber != m_chamber_index.end(); ++chamber) { 00987 Alignable *ali = chamber->first; 00988 DetId id = DetId(m_rawid[ali]); 00989 00990 python << "chambers[" << id.rawId() << "] = "; 00991 if (id.subdetId() == MuonSubdetId::DT) { 00992 DTChamberId chamberId(id.rawId()); 00993 python << "Chamber(" << id.rawId() << ", 0).setDT(" << chamberId.wheel() << ", " << chamberId.station() << ", " << chamberId.sector() << ")"; 00994 } 00995 else if (id.subdetId() == MuonSubdetId::CSC) { 00996 CSCDetId chamberId(id.rawId()); 00997 python << "Chamber(" << id.rawId() << ", " << (chamberId.endcap() == 1? 1: -1) << ").setCSC(" << (chamberId.endcap() == 1? 1: -1)*chamberId.station() << ", " << chamberId.ring() << ", " << chamberId.chamber() << ")"; 00998 } 00999 01000 GlobalPoint location = ali->surface().toGlobal(LocalPoint(0., 0., 0.)); 01001 GlobalVector xhat = ali->surface().toGlobal(LocalVector(1., 0., 0.)); 01002 GlobalVector yhat = ali->surface().toGlobal(LocalVector(0., 1., 0.)); 01003 GlobalVector zhat = ali->surface().toGlobal(LocalVector(0., 0., 1.)); 01004 python << ".setLoc(" << location.x() << ", " << location.y() << ", " << location.z() << ")"; 01005 python << ".setXhat(" << xhat.x() << ", " << xhat.y() << ", " << xhat.z() << ")"; 01006 python << ".setYhat(" << yhat.x() << ", " << yhat.y() << ", " << yhat.z() << ")"; 01007 python << ".setZhat(" << zhat.x() << ", " << zhat.y() << ", " << zhat.z() << ")" << std::endl; 01008 } 01009 01010 for (std::map<Alignable*, unsigned int>::const_iterator layer = m_layer_index.begin(); layer != m_layer_index.end(); ++layer) { 01011 Alignable *ali = layer->first; 01012 DetId id = DetId(m_rawid[ali]); 01013 01014 python << "layers[" << id.rawId() << "] = "; 01015 if (id.subdetId() == MuonSubdetId::DT) { 01016 DTSuperLayerId layerId(id.rawId()); 01017 python << "Layer(" << id.rawId() << ", 0).setDT(" << layerId.wheel() << ", " << layerId.station() << ", " << layerId.sector() << ", " << layerId.superLayer() << ")"; 01018 } 01019 else if (id.subdetId() == MuonSubdetId::CSC) { 01020 CSCDetId layerId(id.rawId()); 01021 python << "Layer(" << id.rawId() << ", " << (layerId.endcap() == 1? 1: -1) << ").setCSC(" << (layerId.endcap() == 1? 1: -1)*layerId.station() << ", " << layerId.ring() << ", " << layerId.chamber() << ", " << layerId.layer() << ")"; 01022 } 01023 01024 GlobalPoint location = ali->surface().toGlobal(LocalPoint(0., 0., 0.)); 01025 GlobalVector xhat = ali->surface().toGlobal(LocalVector(1., 0., 0.)); 01026 GlobalVector yhat = ali->surface().toGlobal(LocalVector(0., 1., 0.)); 01027 GlobalVector zhat = ali->surface().toGlobal(LocalVector(0., 0., 1.)); 01028 python << ".setLoc(" << location.x() << ", " << location.y() << ", " << location.z() << ")"; 01029 python << ".setXhat(" << xhat.x() << ", " << xhat.y() << ", " << xhat.z() << ")"; 01030 python << ".setYhat(" << yhat.x() << ", " << yhat.y() << ", " << yhat.z() << ")"; 01031 python << ".setZhat(" << zhat.x() << ", " << zhat.y() << ", " << zhat.z() << ")" << std::endl; 01032 } 01033 01034 edm::LogInfo("AlignmentMonitorMuonHIP") << "Done with Python geometry!" << std::endl; 01035 }
void AlignmentMonitorMuonHIP::event | ( | const edm::EventSetup & | iSetup, | |
const ConstTrajTrackPairCollection & | iTrajTracks | |||
) |
Definition at line 724 of file AlignmentMonitorMuonHIP.cc.
References AlignableNavigator::alignableFromDetId(), TrajectoryMeasurement::backwardPredictedState(), TrajectoryStateCombiner::combine(), MuonSubdetId::CSC, AlignableNavigator::detAndSubdetInMap(), muonGeometry::disk, fill(), TrajectoryMeasurement::forwardPredictedState(), TrackingRecHit::geographicalId(), Alignable::geomDetId(), TrackingRecHit::isValid(), it, TrajectoryStateOnSurface::localError(), TrackingRecHit::localPosition(), TrajectoryStateOnSurface::localPosition(), TrackingRecHit::localPositionError(), m_chamber_index, m_disk_index, m_layer_index, Trajectory::measurements(), Alignable::mother(), AlignmentMonitorBase::pNavigator(), LocalTrajectoryError::positionError(), TrajectoryMeasurement::recHit(), DetId::subdetId(), PV3DBase< T, PVType, FrameType >::x(), LocalError::xx(), PV3DBase< T, PVType, FrameType >::y(), and LocalError::yy().
00724 { 00725 TrajectoryStateCombiner tsoscomb; 00726 00727 for (ConstTrajTrackPairCollection::const_iterator it = tracks.begin(); it != tracks.end(); ++it) { 00728 const Trajectory *traj = it->first; 00729 // const reco::Track *track = it->second; 00730 00731 std::vector<TrajectoryMeasurement> measurements = traj->measurements(); 00732 for (std::vector<TrajectoryMeasurement>::const_iterator im = measurements.begin(); im != measurements.end(); ++im) { 00733 const TrajectoryMeasurement meas = *im; 00734 const TransientTrackingRecHit* hit = &(*meas.recHit()); 00735 const DetId id = hit->geographicalId(); 00736 00737 if (hit->isValid() && pNavigator()->detAndSubdetInMap(id)) { 00738 Alignable *alignable = pNavigator()->alignableFromDetId(id); 00739 bool y_valid = (alignable->geomDetId().subdetId() == MuonSubdetId::CSC); 00740 00741 std::map<Alignable*, unsigned int>::const_iterator disk = m_disk_index.find(alignable); 00742 std::map<Alignable*, unsigned int>::const_iterator chamber = m_chamber_index.find(alignable); 00743 std::map<Alignable*, unsigned int>::const_iterator layer = m_layer_index.find(alignable); 00744 00745 Alignable *ascend = alignable; 00746 while (disk == m_disk_index.end() && (ascend = ascend->mother())) disk = m_disk_index.find(ascend); 00747 ascend = alignable; 00748 while (chamber == m_chamber_index.end() && (ascend = ascend->mother())) chamber = m_chamber_index.find(ascend); 00749 ascend = alignable; 00750 while (layer == m_layer_index.end() && (ascend = ascend->mother())) layer = m_layer_index.find(ascend); 00751 00752 TrajectoryStateOnSurface tsosc = tsoscomb.combine(meas.forwardPredictedState(), meas.backwardPredictedState()); 00753 LocalPoint trackPos = tsosc.localPosition(); 00754 LocalError trackErr = tsosc.localError().positionError(); 00755 LocalPoint hitPos = hit->localPosition(); 00756 LocalError hitErr = hit->localPositionError(); 00757 00758 double x_residual = trackPos.x() - hitPos.x(); 00759 double y_residual = trackPos.y() - hitPos.y(); 00760 double x_reserr2 = trackErr.xx() + hitErr.xx(); 00761 double y_reserr2 = trackErr.yy() + hitErr.yy(); 00762 double xpos = trackPos.x(); 00763 double ypos = trackPos.y(); 00764 00765 if (disk != m_disk_index.end() || chamber != m_chamber_index.end() || layer != m_layer_index.end()) { 00766 00767 if (disk != m_disk_index.end()) { 00768 fill(disk->second, x_residual, y_residual, x_reserr2, y_reserr2, xpos, ypos, y_valid); 00769 } 00770 if (chamber != m_chamber_index.end()) { 00771 fill(chamber->second, x_residual, y_residual, x_reserr2, y_reserr2, xpos, ypos, y_valid); 00772 } 00773 if (layer != m_layer_index.end()) { 00774 fill(layer->second, x_residual, y_residual, x_reserr2, y_reserr2, xpos, ypos, y_valid); 00775 } 00776 00777 } // end if we're plotting this hit 00778 00779 fill(0, x_residual, y_residual, x_reserr2, y_reserr2, xpos, ypos, y_valid); 00780 00781 } // end if hit is valid 00782 } // end loop over measurements 00783 } // end loop over tracks 00784 }
void AlignmentMonitorMuonHIP::fill | ( | unsigned int | index, | |
double | x_residual, | |||
double | y_residual, | |||
double | x_reserr2, | |||
double | y_reserr2, | |||
double | xpos, | |||
double | ypos, | |||
bool | y_valid | |||
) | [private] |
Definition at line 786 of file AlignmentMonitorMuonHIP.cc.
References AlignmentMonitorBase::iteration(), m_nhits_vsiter, m_wxresid, m_wxresid_vsx, m_wxresid_vsy, m_wxresidwide, m_wyresid, m_wyresid_vsx, m_wyresid_vsy, m_xpull, m_xresid, m_xresidwide, m_ypull, m_yresid, and funct::sqrt().
Referenced by event().
00786 { 00787 if (m_nhits_vsiter[index]) m_nhits_vsiter[index]->Fill(iteration()); 00788 00789 if (m_xresid[index]) m_xresid[index]->Fill(x_residual); 00790 if (m_xresidwide[index]) m_xresidwide[index]->Fill(x_residual); 00791 if (y_valid && m_yresid[index]) m_yresid[index]->Fill(y_residual); 00792 if (m_wxresid[index] && x_reserr2 != 0.) m_wxresid[index]->Fill(x_residual, 1./x_reserr2); 00793 if (m_wxresidwide[index] && x_reserr2 != 0.) m_wxresidwide[index]->Fill(x_residual, 1./x_reserr2); 00794 if (y_valid && m_wyresid[index] && y_reserr2 != 0.) m_wyresid[index]->Fill(y_residual, 1./y_reserr2); 00795 if (m_wxresid_vsx[index] && x_reserr2 != 0.) m_wxresid_vsx[index]->Fill(xpos, x_residual, 1./x_reserr2); 00796 if (m_wxresid_vsy[index] && x_reserr2 != 0.) m_wxresid_vsy[index]->Fill(ypos, x_residual, 1./x_reserr2); 00797 if (y_valid && m_wyresid_vsx[index] && y_reserr2 != 0.) m_wyresid_vsx[index]->Fill(xpos, y_residual, 1./y_reserr2); 00798 if (y_valid && m_wyresid_vsy[index] && y_reserr2 != 0.) m_wyresid_vsy[index]->Fill(ypos, y_residual, 1./y_reserr2); 00799 if (m_xpull[index] && x_reserr2 != 0.) m_xpull[index]->Fill(x_residual / sqrt(fabs(x_reserr2))); 00800 if (y_valid && m_ypull[index] && y_reserr2 != 0.) m_ypull[index]->Fill(y_residual / sqrt(fabs(y_reserr2))); 00801 }
TTree * AlignmentMonitorMuonHIP::m_after [private] |
Definition at line 94 of file AlignmentMonitorMuonHIP.cc.
Referenced by afterAlignment(), and book().
Int_t AlignmentMonitorMuonHIP::m_after_level [private] |
Definition at line 97 of file AlignmentMonitorMuonHIP.cc.
Referenced by afterAlignment(), and book().
Float_t AlignmentMonitorMuonHIP::m_after_phix [private] |
Definition at line 98 of file AlignmentMonitorMuonHIP.cc.
Referenced by afterAlignment(), and book().
Float_t AlignmentMonitorMuonHIP::m_after_phixerr [private] |
Definition at line 99 of file AlignmentMonitorMuonHIP.cc.
Referenced by afterAlignment(), and book().
Float_t AlignmentMonitorMuonHIP::m_after_phiy [private] |
Definition at line 98 of file AlignmentMonitorMuonHIP.cc.
Referenced by afterAlignment(), and book().
Float_t AlignmentMonitorMuonHIP::m_after_phiyerr [private] |
Definition at line 99 of file AlignmentMonitorMuonHIP.cc.
Referenced by afterAlignment(), and book().
Float_t AlignmentMonitorMuonHIP::m_after_phiz [private] |
Definition at line 98 of file AlignmentMonitorMuonHIP.cc.
Referenced by afterAlignment(), and book().
Float_t AlignmentMonitorMuonHIP::m_after_phizerr [private] |
Definition at line 99 of file AlignmentMonitorMuonHIP.cc.
Referenced by afterAlignment(), and book().
Int_t AlignmentMonitorMuonHIP::m_after_rawid [private] |
Definition at line 97 of file AlignmentMonitorMuonHIP.cc.
Referenced by afterAlignment(), and book().
Float_t AlignmentMonitorMuonHIP::m_after_x [private] |
Definition at line 98 of file AlignmentMonitorMuonHIP.cc.
Referenced by afterAlignment(), and book().
Float_t AlignmentMonitorMuonHIP::m_after_xerr [private] |
Definition at line 99 of file AlignmentMonitorMuonHIP.cc.
Referenced by afterAlignment(), and book().
Float_t AlignmentMonitorMuonHIP::m_after_y [private] |
Definition at line 98 of file AlignmentMonitorMuonHIP.cc.
Referenced by afterAlignment(), and book().
Float_t AlignmentMonitorMuonHIP::m_after_yerr [private] |
Definition at line 99 of file AlignmentMonitorMuonHIP.cc.
Referenced by afterAlignment(), and book().
Float_t AlignmentMonitorMuonHIP::m_after_z [private] |
Definition at line 98 of file AlignmentMonitorMuonHIP.cc.
Referenced by afterAlignment(), and book().
Float_t AlignmentMonitorMuonHIP::m_after_zerr [private] |
Definition at line 99 of file AlignmentMonitorMuonHIP.cc.
Referenced by afterAlignment(), and book().
TTree* AlignmentMonitorMuonHIP::m_before [private] |
Int_t AlignmentMonitorMuonHIP::m_before_level [private] |
Float_t AlignmentMonitorMuonHIP::m_before_phix [private] |
Float_t AlignmentMonitorMuonHIP::m_before_phiy [private] |
Float_t AlignmentMonitorMuonHIP::m_before_phiz [private] |
Int_t AlignmentMonitorMuonHIP::m_before_rawid [private] |
Float_t AlignmentMonitorMuonHIP::m_before_x [private] |
Float_t AlignmentMonitorMuonHIP::m_before_y [private] |
Float_t AlignmentMonitorMuonHIP::m_before_z [private] |
bool AlignmentMonitorMuonHIP::m_book_after [private] |
Definition at line 75 of file AlignmentMonitorMuonHIP.cc.
Referenced by AlignmentMonitorMuonHIP(), and book().
bool AlignmentMonitorMuonHIP::m_book_before [private] |
Definition at line 75 of file AlignmentMonitorMuonHIP.cc.
Referenced by AlignmentMonitorMuonHIP(), and book().
Definition at line 70 of file AlignmentMonitorMuonHIP.cc.
Referenced by AlignmentMonitorMuonHIP(), and bookByAli().
Definition at line 70 of file AlignmentMonitorMuonHIP.cc.
Referenced by AlignmentMonitorMuonHIP(), and bookByAli().
Definition at line 70 of file AlignmentMonitorMuonHIP.cc.
Referenced by AlignmentMonitorMuonHIP(), and bookByAli().
bool AlignmentMonitorMuonHIP::m_book_conv_x [private] |
Definition at line 70 of file AlignmentMonitorMuonHIP.cc.
Referenced by AlignmentMonitorMuonHIP(), and bookByAli().
bool AlignmentMonitorMuonHIP::m_book_conv_y [private] |
Definition at line 70 of file AlignmentMonitorMuonHIP.cc.
Referenced by AlignmentMonitorMuonHIP(), and bookByAli().
bool AlignmentMonitorMuonHIP::m_book_conv_z [private] |
Definition at line 70 of file AlignmentMonitorMuonHIP.cc.
Referenced by AlignmentMonitorMuonHIP(), and bookByAli().
std::string AlignmentMonitorMuonHIP::m_book_mode [private] |
Definition at line 69 of file AlignmentMonitorMuonHIP.cc.
Referenced by AlignmentMonitorMuonHIP(), book(), and bookByAli().
Definition at line 70 of file AlignmentMonitorMuonHIP.cc.
Referenced by AlignmentMonitorMuonHIP(), and bookByAli().
bool AlignmentMonitorMuonHIP::m_book_wxresid [private] |
Definition at line 72 of file AlignmentMonitorMuonHIP.cc.
Referenced by AlignmentMonitorMuonHIP(), and bookByAli().
Definition at line 73 of file AlignmentMonitorMuonHIP.cc.
Referenced by AlignmentMonitorMuonHIP(), and bookByAli().
Definition at line 73 of file AlignmentMonitorMuonHIP.cc.
Referenced by AlignmentMonitorMuonHIP(), and bookByAli().
Definition at line 72 of file AlignmentMonitorMuonHIP.cc.
Referenced by AlignmentMonitorMuonHIP(), and bookByAli().
bool AlignmentMonitorMuonHIP::m_book_wyresid [private] |
Definition at line 72 of file AlignmentMonitorMuonHIP.cc.
Referenced by AlignmentMonitorMuonHIP(), and bookByAli().
Definition at line 73 of file AlignmentMonitorMuonHIP.cc.
Referenced by AlignmentMonitorMuonHIP(), and bookByAli().
Definition at line 73 of file AlignmentMonitorMuonHIP.cc.
Referenced by AlignmentMonitorMuonHIP(), and bookByAli().
bool AlignmentMonitorMuonHIP::m_book_xpull [private] |
Definition at line 74 of file AlignmentMonitorMuonHIP.cc.
Referenced by AlignmentMonitorMuonHIP(), and bookByAli().
bool AlignmentMonitorMuonHIP::m_book_xresid [private] |
Definition at line 71 of file AlignmentMonitorMuonHIP.cc.
Referenced by AlignmentMonitorMuonHIP(), and bookByAli().
Definition at line 71 of file AlignmentMonitorMuonHIP.cc.
Referenced by AlignmentMonitorMuonHIP(), and bookByAli().
bool AlignmentMonitorMuonHIP::m_book_ypull [private] |
Definition at line 74 of file AlignmentMonitorMuonHIP.cc.
Referenced by AlignmentMonitorMuonHIP(), and bookByAli().
bool AlignmentMonitorMuonHIP::m_book_yresid [private] |
Definition at line 71 of file AlignmentMonitorMuonHIP.cc.
Referenced by AlignmentMonitorMuonHIP(), and bookByAli().
std::map<Alignable*, unsigned int> AlignmentMonitorMuonHIP::m_chamber_index [private] |
Definition at line 80 of file AlignmentMonitorMuonHIP.cc.
Referenced by afterAlignment(), book(), createPythonGeometry(), and event().
TH1FPtr * AlignmentMonitorMuonHIP::m_conv_phix [private] |
Definition at line 85 of file AlignmentMonitorMuonHIP.cc.
Referenced by afterAlignment(), book(), and bookByAli().
TH1FPtr * AlignmentMonitorMuonHIP::m_conv_phiy [private] |
Definition at line 85 of file AlignmentMonitorMuonHIP.cc.
Referenced by afterAlignment(), book(), and bookByAli().
TH1FPtr * AlignmentMonitorMuonHIP::m_conv_phiz [private] |
Definition at line 85 of file AlignmentMonitorMuonHIP.cc.
Referenced by afterAlignment(), book(), and bookByAli().
TH1FPtr * AlignmentMonitorMuonHIP::m_conv_x [private] |
Definition at line 85 of file AlignmentMonitorMuonHIP.cc.
Referenced by afterAlignment(), book(), and bookByAli().
TH1FPtr * AlignmentMonitorMuonHIP::m_conv_y [private] |
Definition at line 85 of file AlignmentMonitorMuonHIP.cc.
Referenced by afterAlignment(), book(), and bookByAli().
TH1FPtr * AlignmentMonitorMuonHIP::m_conv_z [private] |
Definition at line 85 of file AlignmentMonitorMuonHIP.cc.
Referenced by afterAlignment(), book(), and bookByAli().
std::map<Alignable*, unsigned int> AlignmentMonitorMuonHIP::m_disk_index [private] |
Definition at line 80 of file AlignmentMonitorMuonHIP.cc.
Referenced by afterAlignment(), book(), createPythonGeometry(), and event().
std::map<Alignable*, unsigned int> AlignmentMonitorMuonHIP::m_layer_index [private] |
Definition at line 80 of file AlignmentMonitorMuonHIP.cc.
Referenced by afterAlignment(), book(), createPythonGeometry(), and event().
TH1FPtr* AlignmentMonitorMuonHIP::m_nhits_vsiter [private] |
Definition at line 85 of file AlignmentMonitorMuonHIP.cc.
Referenced by afterAlignment(), book(), bookByAli(), and fill().
unsigned int AlignmentMonitorMuonHIP::m_numHistograms [private] |
int AlignmentMonitorMuonHIP::m_params_bins [private] |
Definition at line 63 of file AlignmentMonitorMuonHIP.cc.
Referenced by AlignmentMonitorMuonHIP(), book(), and bookByAli().
Definition at line 61 of file AlignmentMonitorMuonHIP.cc.
Referenced by AlignmentMonitorMuonHIP(), and bookByAli().
double AlignmentMonitorMuonHIP::m_params_iterations_high [private] |
Definition at line 62 of file AlignmentMonitorMuonHIP.cc.
Referenced by AlignmentMonitorMuonHIP(), and bookByAli().
double AlignmentMonitorMuonHIP::m_params_iterations_low [private] |
Definition at line 62 of file AlignmentMonitorMuonHIP.cc.
Referenced by AlignmentMonitorMuonHIP(), and bookByAli().
double AlignmentMonitorMuonHIP::m_params_xCSC_high [private] |
Definition at line 65 of file AlignmentMonitorMuonHIP.cc.
Referenced by AlignmentMonitorMuonHIP(), and bookByAli().
double AlignmentMonitorMuonHIP::m_params_xCSC_low [private] |
Definition at line 65 of file AlignmentMonitorMuonHIP.cc.
Referenced by AlignmentMonitorMuonHIP(), and bookByAli().
double AlignmentMonitorMuonHIP::m_params_xDT_high [private] |
Definition at line 65 of file AlignmentMonitorMuonHIP.cc.
Referenced by AlignmentMonitorMuonHIP(), and bookByAli().
double AlignmentMonitorMuonHIP::m_params_xDT_low [private] |
Definition at line 65 of file AlignmentMonitorMuonHIP.cc.
Referenced by AlignmentMonitorMuonHIP(), and bookByAli().
double AlignmentMonitorMuonHIP::m_params_xpull_high [private] |
Definition at line 66 of file AlignmentMonitorMuonHIP.cc.
Referenced by AlignmentMonitorMuonHIP(), book(), and bookByAli().
double AlignmentMonitorMuonHIP::m_params_xpull_low [private] |
Definition at line 66 of file AlignmentMonitorMuonHIP.cc.
Referenced by AlignmentMonitorMuonHIP(), book(), and bookByAli().
double AlignmentMonitorMuonHIP::m_params_xresid_high [private] |
Definition at line 64 of file AlignmentMonitorMuonHIP.cc.
Referenced by AlignmentMonitorMuonHIP(), book(), and bookByAli().
double AlignmentMonitorMuonHIP::m_params_xresid_low [private] |
Definition at line 64 of file AlignmentMonitorMuonHIP.cc.
Referenced by AlignmentMonitorMuonHIP(), book(), and bookByAli().
double AlignmentMonitorMuonHIP::m_params_xresidwide_high [private] |
Definition at line 64 of file AlignmentMonitorMuonHIP.cc.
Referenced by AlignmentMonitorMuonHIP(), book(), and bookByAli().
double AlignmentMonitorMuonHIP::m_params_xresidwide_low [private] |
Definition at line 64 of file AlignmentMonitorMuonHIP.cc.
Referenced by AlignmentMonitorMuonHIP(), book(), and bookByAli().
double AlignmentMonitorMuonHIP::m_params_yCSC_high [private] |
Definition at line 65 of file AlignmentMonitorMuonHIP.cc.
Referenced by AlignmentMonitorMuonHIP(), and bookByAli().
double AlignmentMonitorMuonHIP::m_params_yCSC_low [private] |
Definition at line 65 of file AlignmentMonitorMuonHIP.cc.
Referenced by AlignmentMonitorMuonHIP(), and bookByAli().
double AlignmentMonitorMuonHIP::m_params_yDT_high [private] |
Definition at line 65 of file AlignmentMonitorMuonHIP.cc.
Referenced by AlignmentMonitorMuonHIP(), and bookByAli().
double AlignmentMonitorMuonHIP::m_params_yDT_low [private] |
Definition at line 65 of file AlignmentMonitorMuonHIP.cc.
Referenced by AlignmentMonitorMuonHIP(), and bookByAli().
double AlignmentMonitorMuonHIP::m_params_ypull_high [private] |
Definition at line 66 of file AlignmentMonitorMuonHIP.cc.
Referenced by AlignmentMonitorMuonHIP(), book(), and bookByAli().
double AlignmentMonitorMuonHIP::m_params_ypull_low [private] |
Definition at line 66 of file AlignmentMonitorMuonHIP.cc.
Referenced by AlignmentMonitorMuonHIP(), book(), and bookByAli().
double AlignmentMonitorMuonHIP::m_params_yresid_high [private] |
Definition at line 64 of file AlignmentMonitorMuonHIP.cc.
Referenced by AlignmentMonitorMuonHIP(), book(), and bookByAli().
double AlignmentMonitorMuonHIP::m_params_yresid_low [private] |
Definition at line 64 of file AlignmentMonitorMuonHIP.cc.
Referenced by AlignmentMonitorMuonHIP(), book(), and bookByAli().
std::map<Alignable*, int> AlignmentMonitorMuonHIP::m_rawid [private] |
Definition at line 82 of file AlignmentMonitorMuonHIP.cc.
Referenced by afterAlignment(), book(), and createPythonGeometry().
TH1FPtr* AlignmentMonitorMuonHIP::m_wxresid [private] |
Definition at line 89 of file AlignmentMonitorMuonHIP.cc.
Referenced by afterAlignment(), book(), bookByAli(), and fill().
Definition at line 90 of file AlignmentMonitorMuonHIP.cc.
Referenced by afterAlignment(), book(), bookByAli(), and fill().
TProfilePtr * AlignmentMonitorMuonHIP::m_wxresid_vsy [private] |
Definition at line 90 of file AlignmentMonitorMuonHIP.cc.
Referenced by afterAlignment(), book(), bookByAli(), and fill().
TH1FPtr * AlignmentMonitorMuonHIP::m_wxresidwide [private] |
Definition at line 89 of file AlignmentMonitorMuonHIP.cc.
Referenced by afterAlignment(), book(), bookByAli(), and fill().
TH1FPtr * AlignmentMonitorMuonHIP::m_wyresid [private] |
Definition at line 89 of file AlignmentMonitorMuonHIP.cc.
Referenced by afterAlignment(), book(), bookByAli(), and fill().
TProfilePtr * AlignmentMonitorMuonHIP::m_wyresid_vsx [private] |
Definition at line 90 of file AlignmentMonitorMuonHIP.cc.
Referenced by afterAlignment(), book(), bookByAli(), and fill().
TProfilePtr * AlignmentMonitorMuonHIP::m_wyresid_vsy [private] |
Definition at line 90 of file AlignmentMonitorMuonHIP.cc.
Referenced by afterAlignment(), book(), bookByAli(), and fill().
TH1FPtr* AlignmentMonitorMuonHIP::m_xpull [private] |
Definition at line 91 of file AlignmentMonitorMuonHIP.cc.
Referenced by afterAlignment(), book(), bookByAli(), and fill().
TH1FPtr* AlignmentMonitorMuonHIP::m_xresid [private] |
Definition at line 88 of file AlignmentMonitorMuonHIP.cc.
Referenced by afterAlignment(), book(), bookByAli(), and fill().
TH1FPtr * AlignmentMonitorMuonHIP::m_xresidwide [private] |
Definition at line 88 of file AlignmentMonitorMuonHIP.cc.
Referenced by afterAlignment(), book(), bookByAli(), and fill().
TH1FPtr * AlignmentMonitorMuonHIP::m_ypull [private] |
Definition at line 91 of file AlignmentMonitorMuonHIP.cc.
Referenced by afterAlignment(), book(), bookByAli(), and fill().
TH1FPtr * AlignmentMonitorMuonHIP::m_yresid [private] |
Definition at line 88 of file AlignmentMonitorMuonHIP.cc.
Referenced by afterAlignment(), book(), bookByAli(), and fill().