#include <SiPixelLorentzAngle.h>
Definition at line 85 of file SiPixelLorentzAngle.h.
SiPixelLorentzAngle::SiPixelLorentzAngle | ( | const edm::ParameterSet & | conf | ) | [explicit] |
Definition at line 36 of file SiPixelLorentzAngle.cc.
References hist_x_, hist_y_, max_depth_, max_drift_, max_x_, max_y_, min_depth_, min_drift_, min_x_, min_y_, and width_.
: conf_(conf), filename_(conf.getParameter<std::string>("fileName")), filenameFit_(conf.getParameter<std::string>("fileNameFit")), ptmin_(conf.getParameter<double>("ptMin")), simData_(conf.getParameter<bool>("simData")), normChi2Max_(conf.getParameter<double>("normChi2Max")), clustSizeYMin_(conf.getParameter<int>("clustSizeYMin")), residualMax_(conf.getParameter<double>("residualMax")), clustChargeMax_(conf.getParameter<double>("clustChargeMax")),hist_depth_(conf.getParameter<int>("binsDepth")), hist_drift_(conf.getParameter<int>("binsDrift")) { // anglefinder_=new TrackLocalAngle(conf); hist_x_ = 50; hist_y_ = 100; min_x_ = -500.; max_x_ = 500.; min_y_ = -1500.; max_y_ = 500.; width_ = 0.0285; min_depth_ = -100.; max_depth_ = 400.; min_drift_ = -1000.; //-200.;(conf.getParameter<double>("residualMax")) max_drift_ = 1000.; //400.; }
SiPixelLorentzAngle::~SiPixelLorentzAngle | ( | ) | [virtual] |
Definition at line 55 of file SiPixelLorentzAngle.cc.
{ }
SiPixelLorentzAngle::SiPixelLorentzAngle | ( | ) | [inline] |
Definition at line 14 of file SiPixelLorentzAngle.h.
{};
SiPixelLorentzAngle::~SiPixelLorentzAngle | ( | ) | [inline] |
Definition at line 15 of file SiPixelLorentzAngle.h.
{};
void SiPixelLorentzAngle::analyze | ( | const edm::Event & | e, |
const edm::EventSetup & | c | ||
) | [virtual] |
Implements edm::EDAnalyzer.
Definition at line 150 of file SiPixelLorentzAngle.cc.
References _h_drift_depth_adc2_, _h_drift_depth_adc_, _h_drift_depth_noadc_, Pixinfo::adc, Hit::alpha, TrackerHitAssociator::associateHit(), Hit::beta, PXFDetId::blade(), bladeF_, Clust::charge, chi2_, Trajectory::chiSquared(), clust_, clustChargeMax_, SiPixelRecHit::cluster(), clustF_, clustSizeYMin_, Pixinfo::col, conf_, gather_cfg::cout, PXFDetId::disk(), diskF_, shallow::drift(), reco::TrackBase::eta(), eta_, edm::EventID::event(), event_, event_counter_, HcalObjRepresent::Fill(), fillPix(), Hit::gamma, edm::EventSetup::get(), edm::Event::getByLabel(), edm::ParameterSet::getParameter(), h_cluster_shape_adc_, h_cluster_shape_adc_rot_, h_cluster_shape_noadc_, h_cluster_shape_noadc_rot_, h_tracks_, hitCounter_, edm::EventBase::id(), TrackerGeometry::idToDet(), isflipped_, TrajectoryStateOnSurface::isValid(), j, PXBDetId::ladder(), ladder_, PXBDetId::layer(), layer_, TrajectoryStateOnSurface::localDirection(), BaseSiTrackerRecHit2DLocalPos::localPosition(), TrajectoryStateOnSurface::localPosition(), Clust::maxPixelCol, Clust::maxPixelRow, Trajectory::measurements(), Clust::minPixelCol, Clust::minPixelRow, PXFDetId::module(), PXBDetId::module(), module_, moduleF_, Trajectory::ndof(), ndof_, normChi2Max_, Pixinfo::npix, PXFDetId::panel(), panelF_, PV3DBase< T, PVType, FrameType >::perp(), reco::TrackBase::phi(), phi_, PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, pixelTracksCounter_, pixinfo_, pixinfoF_, reco::TrackBase::pt(), pt_, ptmin_, rechit_, rechitF_, residualMax_, Pixinfo::row, edm::EventID::run(), run_, PXFDetId::side(), sideF_, simData_, simhit_, simhitF_, SiPixelLorentzAngleTree_, SiPixelLorentzAngleTreeForward_, Clust::size_x, Clust::size_y, PixelGeomDetUnit::specificTopology(), GeomDet::surface(), funct::tan(), Surface::toGlobal(), tracker, align::Tracker, trackEventsCounter_, trackhit_, trackhitF_, usedHitCounter_, width_, Rechit::x, PV3DBase< T, PVType, FrameType >::x(), Pixinfo::x, Hit::x, x, Clust::x, Rechit::y, PV3DBase< T, PVType, FrameType >::y(), Pixinfo::y, Hit::y, Clust::y, detailsBasic3DVector::y, and PV3DBase< T, PVType, FrameType >::z().
{ event_counter_++; // if(event_counter_ % 500 == 0) cout << "event number " << event_counter_ << endl; cout << "event number " << event_counter_ << endl; edm::ESHandle<TrackerGeometry> estracker; es.get<TrackerDigiGeometryRecord>().get(estracker); tracker=&(* estracker); TrackerHitAssociator* associate; if(simData_) associate = new TrackerHitAssociator(e); else associate = 0; // restet values module_=-1; layer_=-1; ladder_ = -1; isflipped_ = -1; pt_ = -999; eta_ = 999; phi_ = 999; pixinfo_.npix = 0; run_ = e.id().run(); event_ = e.id().event(); // get the association map between tracks and trajectories edm::Handle<TrajTrackAssociationCollection> trajTrackCollectionHandle; e.getByLabel(conf_.getParameter<std::string>("src"),trajTrackCollectionHandle); if(trajTrackCollectionHandle->size() >0){ trackEventsCounter_++; for(TrajTrackAssociationCollection::const_iterator it = trajTrackCollectionHandle->begin(); it!=trajTrackCollectionHandle->end();++it){ const Track& track = *it->val; const Trajectory& traj = *it->key; // get the trajectory measurements std::vector<TrajectoryMeasurement> tmColl = traj.measurements(); // TrajectoryStateOnSurface tsos = tsoscomb( itTraj->forwardPredictedState(), itTraj->backwardPredictedState() ); pt_ = track.pt(); eta_ = track.eta(); phi_ = track.phi(); chi2_ = traj.chiSquared(); ndof_ = traj.ndof(); if(pt_ < ptmin_) continue; // iterate over trajectory measurements std::vector<PSimHit> matched; h_tracks_->Fill(0); bool pixeltrack = false; for(std::vector<TrajectoryMeasurement>::const_iterator itTraj = tmColl.begin(); itTraj != tmColl.end(); itTraj++) { if(! itTraj->updatedState().isValid()) continue; TransientTrackingRecHit::ConstRecHitPointer recHit = itTraj->recHit(); if(! recHit->isValid() || recHit->geographicalId().det() != DetId::Tracker ) continue; unsigned int subDetID = (recHit->geographicalId().subdetId()); if( subDetID == PixelSubdetector::PixelBarrel || subDetID == PixelSubdetector::PixelEndcap){ if(!pixeltrack){ h_tracks_->Fill(1); pixelTracksCounter_++; } pixeltrack = true; } if( subDetID == PixelSubdetector::PixelBarrel){ hitCounter_++; DetId detIdObj = recHit->geographicalId(); const PixelGeomDetUnit * theGeomDet = dynamic_cast<const PixelGeomDetUnit*> ( tracker->idToDet(detIdObj) ); if(!theGeomDet) continue; const PixelTopology * topol = &(theGeomDet->specificTopology()); if(!topol) continue; PXBDetId pxbdetIdObj(detIdObj); layer_ = pxbdetIdObj.layer(); ladder_ = pxbdetIdObj.ladder(); module_ = pxbdetIdObj.module(); float tmp1 = theGeomDet->surface().toGlobal(Local3DPoint(0.,0.,0.)).perp(); float tmp2 = theGeomDet->surface().toGlobal(Local3DPoint(0.,0.,1.)).perp(); if ( tmp2<tmp1 ) isflipped_ = 1; else isflipped_ = 0; const SiPixelRecHit * recHitPix = dynamic_cast<const SiPixelRecHit *>((*recHit).hit()); if(!recHitPix) continue; rechit_.x = recHitPix->localPosition().x(); rechit_.y = recHitPix->localPosition().y(); SiPixelRecHit::ClusterRef const& cluster = recHitPix->cluster(); // fill entries in clust_ clust_.x = (cluster)->x(); clust_.y = (cluster)->y(); clust_.charge = (cluster->charge())/1000.; clust_.size_x = cluster->sizeX(); clust_.size_y = cluster->sizeY(); clust_.maxPixelCol = cluster->maxPixelCol(); clust_.maxPixelRow = cluster->maxPixelRow(); clust_.minPixelCol = cluster->minPixelCol(); clust_.minPixelRow = cluster->minPixelRow(); // fill entries in pixinfo_: fillPix(*cluster ,topol, pixinfo_); // fill the trackhit info TrajectoryStateOnSurface tsos=itTraj->updatedState(); if(!tsos.isValid()){ cout << "tsos not valid" << endl; continue; } LocalVector trackdirection=tsos.localDirection(); LocalPoint trackposition=tsos.localPosition(); if(trackdirection.z()==0) continue; // the local position and direction trackhit_.alpha = atan2(trackdirection.z(),trackdirection.x()); trackhit_.beta = atan2(trackdirection.z(),trackdirection.y()); trackhit_.gamma = atan2(trackdirection.x(),trackdirection.y()); trackhit_.x = trackposition.x(); trackhit_.y = trackposition.y(); // fill entries in simhit_: if(simData_){ matched.clear(); matched = associate->associateHit((*recHitPix)); float dr_start=9999.; for (std::vector<PSimHit>::iterator isim = matched.begin(); isim != matched.end(); ++isim){ DetId simdetIdObj((*isim).detUnitId()); if (simdetIdObj == detIdObj) { float sim_x1 = (*isim).entryPoint().x(); // width (row index, in col direction) float sim_y1 = (*isim).entryPoint().y(); // length (col index, in row direction) float sim_x2 = (*isim).exitPoint().x(); float sim_y2 = (*isim).exitPoint().y(); float sim_xpos = 0.5*(sim_x1+sim_x2); float sim_ypos = 0.5*(sim_y1+sim_y2); float sim_px = (*isim).momentumAtEntry().x(); float sim_py = (*isim).momentumAtEntry().y(); float sim_pz = (*isim).momentumAtEntry().z(); float dr = (sim_xpos-(recHitPix->localPosition().x()))*(sim_xpos-recHitPix->localPosition().x()) + (sim_ypos-recHitPix->localPosition().y())*(sim_ypos-recHitPix->localPosition().y()); if(dr<dr_start) { simhit_.x = sim_xpos; simhit_.y = sim_ypos; simhit_.alpha = atan2(sim_pz, sim_px); simhit_.beta = atan2(sim_pz, sim_py); simhit_.gamma = atan2(sim_px, sim_py); dr_start = dr; } } } // end of filling simhit_ } // is one pixel in cluster a large pixel ? (hit will be excluded) bool large_pix = false; for (int j = 0; j < pixinfo_.npix; j++){ int colpos = static_cast<int>(pixinfo_.col[j]); if (pixinfo_.row[j] == 0 || pixinfo_.row[j] == 79 || pixinfo_.row[j] == 80 || pixinfo_.row[j] == 159 || colpos % 52 == 0 || colpos % 52 == 51 ){ large_pix = true; } } double residual = TMath::Sqrt( (trackhit_.x - rechit_.x) * (trackhit_.x - rechit_.x) + (trackhit_.y - rechit_.y) * (trackhit_.y - rechit_.y) ); SiPixelLorentzAngleTree_->Fill(); if( !large_pix && (chi2_/ndof_) < normChi2Max_ && cluster->sizeY() >= clustSizeYMin_ && residual < residualMax_ && (cluster->charge() < clustChargeMax_)){ usedHitCounter_++; // iterate over pixels in hit for (int j = 0; j < pixinfo_.npix; j++){ // use trackhits float dx = (pixinfo_.x[j] - (trackhit_.x - width_/2. / TMath::Tan(trackhit_.alpha))) * 10000.; float dy = (pixinfo_.y[j] - (trackhit_.y - width_/2. / TMath::Tan(trackhit_.beta))) * 10000.; float depth = dy * tan(trackhit_.beta); float drift = dx - dy * tan(trackhit_.gamma); _h_drift_depth_adc_[module_ + (layer_ -1) * 8]->Fill(drift, depth, pixinfo_.adc[j]); _h_drift_depth_adc2_[module_ + (layer_ -1) * 8]->Fill(drift, depth, pixinfo_.adc[j]*pixinfo_.adc[j]); _h_drift_depth_noadc_[module_ + (layer_ -1) * 8]->Fill(drift, depth); if( layer_ == 3 && module_==1 && isflipped_){ float dx_rot = dx * TMath::Cos(trackhit_.gamma) + dy * TMath::Sin(trackhit_.gamma); float dy_rot = dy * TMath::Cos(trackhit_.gamma) - dx * TMath::Sin(trackhit_.gamma) ; h_cluster_shape_adc_->Fill(dx, dy, pixinfo_.adc[j]); h_cluster_shape_noadc_->Fill(dx, dy); h_cluster_shape_adc_rot_->Fill(dx_rot, dy_rot, pixinfo_.adc[j]); h_cluster_shape_noadc_rot_->Fill(dx_rot, dy_rot); } } } } else if (subDetID == PixelSubdetector::PixelEndcap) { DetId detIdObj = recHit->geographicalId(); const PixelGeomDetUnit * theGeomDet = dynamic_cast<const PixelGeomDetUnit*> ( tracker->idToDet(detIdObj) ); if(!theGeomDet) continue; const PixelTopology * topol = &(theGeomDet->specificTopology()); if(!topol) continue; PXFDetId pxfdetIdObj(detIdObj); sideF_ = pxfdetIdObj.side(); diskF_ = pxfdetIdObj.disk(); bladeF_ = pxfdetIdObj.blade(); panelF_ = pxfdetIdObj.panel(); moduleF_ = pxfdetIdObj.module(); // float tmp1 = theGeomDet->surface().toGlobal(Local3DPoint(0.,0.,0.)).perp(); // float tmp2 = theGeomDet->surface().toGlobal(Local3DPoint(0.,0.,1.)).perp(); // if ( tmp2<tmp1 ) isflipped_ = 1; // else isflipped_ = 0; const SiPixelRecHit * recHitPix = dynamic_cast<const SiPixelRecHit *>((*recHit).hit()); if(!recHitPix) continue; rechitF_.x = recHitPix->localPosition().x(); rechitF_.y = recHitPix->localPosition().y(); SiPixelRecHit::ClusterRef const& cluster = recHitPix->cluster(); // fill entries in clust_ clustF_.x = (cluster)->x(); clustF_.y = (cluster)->y(); clustF_.charge = (cluster->charge())/1000.; clustF_.size_x = cluster->sizeX(); clustF_.size_y = cluster->sizeY(); clustF_.maxPixelCol = cluster->maxPixelCol(); clustF_.maxPixelRow = cluster->maxPixelRow(); clustF_.minPixelCol = cluster->minPixelCol(); clustF_.minPixelRow = cluster->minPixelRow(); // fill entries in pixinfo_: fillPix(*cluster ,topol, pixinfoF_); // fill the trackhit info TrajectoryStateOnSurface tsos=itTraj->updatedState(); if(!tsos.isValid()){ cout << "tsos not valid" << endl; continue; } LocalVector trackdirection=tsos.localDirection(); LocalPoint trackposition=tsos.localPosition(); if(trackdirection.z()==0) continue; // the local position and direction trackhitF_.alpha = atan2(trackdirection.z(),trackdirection.x()); trackhitF_.beta = atan2(trackdirection.z(),trackdirection.y()); trackhitF_.gamma = atan2(trackdirection.x(),trackdirection.y()); trackhitF_.x = trackposition.x(); trackhitF_.y = trackposition.y(); // fill entries in simhit_: if(simData_){ matched.clear(); matched = associate->associateHit((*recHitPix)); float dr_start=9999.; for (std::vector<PSimHit>::iterator isim = matched.begin(); isim != matched.end(); ++isim){ DetId simdetIdObj((*isim).detUnitId()); if (simdetIdObj == detIdObj) { float sim_x1 = (*isim).entryPoint().x(); // width (row index, in col direction) float sim_y1 = (*isim).entryPoint().y(); // length (col index, in row direction) float sim_x2 = (*isim).exitPoint().x(); float sim_y2 = (*isim).exitPoint().y(); float sim_xpos = 0.5*(sim_x1+sim_x2); float sim_ypos = 0.5*(sim_y1+sim_y2); float sim_px = (*isim).momentumAtEntry().x(); float sim_py = (*isim).momentumAtEntry().y(); float sim_pz = (*isim).momentumAtEntry().z(); float dr = (sim_xpos-(recHitPix->localPosition().x()))*(sim_xpos-recHitPix->localPosition().x()) + (sim_ypos-recHitPix->localPosition().y())*(sim_ypos-recHitPix->localPosition().y()); if(dr<dr_start) { simhitF_.x = sim_xpos; simhitF_.y = sim_ypos; simhitF_.alpha = atan2(sim_pz, sim_px); simhitF_.beta = atan2(sim_pz, sim_py); simhitF_.gamma = atan2(sim_px, sim_py); dr_start = dr; } } } // end of filling simhit_ } SiPixelLorentzAngleTreeForward_->Fill(); } } //end iteration over trajectory measurements } //end iteration over trajectories } }
void SiPixelLorentzAngle::beginJob | ( | void | ) | [virtual] |
Reimplemented from edm::EDAnalyzer.
Definition at line 57 of file SiPixelLorentzAngle.cc.
References _h_drift_depth_, _h_drift_depth_adc2_, _h_drift_depth_adc_, _h_drift_depth_noadc_, _h_mean_, Pixinfo::adc, bladeF_, chi2_, clust_, clustF_, Pixinfo::col, diskF_, eta_, event_, event_counter_, filename_, h_cluster_shape_, h_cluster_shape_adc_, h_cluster_shape_adc_rot_, h_cluster_shape_noadc_, h_cluster_shape_noadc_rot_, h_cluster_shape_rot_, h_tracks_, hFile_, hist_depth_, hist_drift_, hist_x_, hist_y_, hitCounter_, isflipped_, ladder_, layer_, max_depth_, max_drift_, max_x_, max_y_, min_depth_, min_drift_, min_x_, min_y_, module_, moduleF_, mergeVDriftHistosByStation::name, ndof_, Pixinfo::npix, panelF_, phi_, pixelTracksCounter_, pixinfo_, pixinfoF_, pt_, rechit_, rechitF_, Pixinfo::row, run_, sideF_, simhit_, simhitF_, SiPixelLorentzAngleTree_, SiPixelLorentzAngleTreeForward_, trackEventsCounter_, trackhit_, trackhitF_, usedHitCounter_, Pixinfo::x, and Pixinfo::y.
{ // cout << "started SiPixelLorentzAngle" << endl; hFile_ = new TFile (filename_.c_str(), "RECREATE" ); int bufsize = 64000; // create tree structure SiPixelLorentzAngleTree_ = new TTree("SiPixelLorentzAngleTree_","SiPixel LorentzAngle tree", bufsize); SiPixelLorentzAngleTree_->Branch("run", &run_, "run/I", bufsize); SiPixelLorentzAngleTree_->Branch("event", &event_, "event/I", bufsize); SiPixelLorentzAngleTree_->Branch("module", &module_, "module/I", bufsize); SiPixelLorentzAngleTree_->Branch("ladder", &ladder_, "ladder/I", bufsize); SiPixelLorentzAngleTree_->Branch("layer", &layer_, "layer/I", bufsize); SiPixelLorentzAngleTree_->Branch("isflipped", &isflipped_, "isflipped/I", bufsize); SiPixelLorentzAngleTree_->Branch("pt", &pt_, "pt/F", bufsize); SiPixelLorentzAngleTree_->Branch("eta", &eta_, "eta/F", bufsize); SiPixelLorentzAngleTree_->Branch("phi", &phi_, "phi/F", bufsize); SiPixelLorentzAngleTree_->Branch("chi2", &chi2_, "chi2/D", bufsize); SiPixelLorentzAngleTree_->Branch("ndof", &ndof_, "ndof/D", bufsize); SiPixelLorentzAngleTree_->Branch("trackhit", &trackhit_, "x/F:y/F:alpha/D:beta/D:gamma_/D", bufsize); SiPixelLorentzAngleTree_->Branch("simhit", &simhit_, "x/F:y/F:alpha/D:beta/D:gamma_/D", bufsize); SiPixelLorentzAngleTree_->Branch("npix", &pixinfo_.npix, "npix/I", bufsize); SiPixelLorentzAngleTree_->Branch("rowpix", pixinfo_.row, "row[npix]/F", bufsize); SiPixelLorentzAngleTree_->Branch("colpix", pixinfo_.col, "col[npix]/F", bufsize); SiPixelLorentzAngleTree_->Branch("adc", pixinfo_.adc, "adc[npix]/F", bufsize); SiPixelLorentzAngleTree_->Branch("xpix", pixinfo_.x, "x[npix]/F", bufsize); SiPixelLorentzAngleTree_->Branch("ypix", pixinfo_.y, "y[npix]/F", bufsize); SiPixelLorentzAngleTree_->Branch("clust", &clust_, "x/F:y/F:charge/F:size_x/I:size_y/I:maxPixelCol/I:maxPixelRow:minPixelCol/I:minPixelRow/I", bufsize); SiPixelLorentzAngleTree_->Branch("rechit", &rechit_, "x/F:y/F", bufsize); SiPixelLorentzAngleTreeForward_ = new TTree("SiPixelLorentzAngleTreeForward_","SiPixel LorentzAngle tree forward", bufsize); SiPixelLorentzAngleTreeForward_->Branch("run", &run_, "run/I", bufsize); SiPixelLorentzAngleTreeForward_->Branch("event", &event_, "event/I", bufsize); SiPixelLorentzAngleTreeForward_->Branch("side", &sideF_, "side/I", bufsize); SiPixelLorentzAngleTreeForward_->Branch("disk", &diskF_, "disk/I", bufsize); SiPixelLorentzAngleTreeForward_->Branch("blade", &bladeF_, "blade/I", bufsize); SiPixelLorentzAngleTreeForward_->Branch("panel", &panelF_, "panel/I", bufsize); SiPixelLorentzAngleTreeForward_->Branch("module", &moduleF_, "module/I", bufsize); SiPixelLorentzAngleTreeForward_->Branch("pt", &pt_, "pt/F", bufsize); SiPixelLorentzAngleTreeForward_->Branch("eta", &eta_, "eta/F", bufsize); SiPixelLorentzAngleTreeForward_->Branch("phi", &phi_, "phi/F", bufsize); SiPixelLorentzAngleTreeForward_->Branch("chi2", &chi2_, "chi2/D", bufsize); SiPixelLorentzAngleTreeForward_->Branch("ndof", &ndof_, "ndof/D", bufsize); SiPixelLorentzAngleTreeForward_->Branch("trackhit", &trackhitF_, "x/F:y/F:alpha/D:beta/D:gamma_/D", bufsize); SiPixelLorentzAngleTreeForward_->Branch("simhit", &simhitF_, "x/F:y/F:alpha/D:beta/D:gamma_/D", bufsize); SiPixelLorentzAngleTreeForward_->Branch("npix", &pixinfoF_.npix, "npix/I", bufsize); SiPixelLorentzAngleTreeForward_->Branch("rowpix", pixinfoF_.row, "row[npix]/F", bufsize); SiPixelLorentzAngleTreeForward_->Branch("colpix", pixinfoF_.col, "col[npix]/F", bufsize); SiPixelLorentzAngleTreeForward_->Branch("adc", pixinfoF_.adc, "adc[npix]/F", bufsize); SiPixelLorentzAngleTreeForward_->Branch("xpix", pixinfoF_.x, "x[npix]/F", bufsize); SiPixelLorentzAngleTreeForward_->Branch("ypix", pixinfoF_.y, "y[npix]/F", bufsize); SiPixelLorentzAngleTreeForward_->Branch("clust", &clustF_, "x/F:y/F:charge/F:size_x/I:size_y/I:maxPixelCol/I:maxPixelRow:minPixelCol/I:minPixelRow/I", bufsize); SiPixelLorentzAngleTreeForward_->Branch("rechit", &rechitF_, "x/F:y/F", bufsize); //book histograms char name[128]; for(int i_module = 1; i_module<=8; i_module++){ for(int i_layer = 1; i_layer<=3; i_layer++){ sprintf(name, "h_drift_depth_adc_layer%i_module%i", i_layer, i_module); _h_drift_depth_adc_[i_module + (i_layer -1) * 8] = new TH2F(name,name,hist_drift_ , min_drift_, max_drift_, hist_depth_, min_depth_, max_depth_); sprintf(name, "h_drift_depth_adc2_layer%i_module%i", i_layer, i_module); _h_drift_depth_adc2_[i_module + (i_layer -1) * 8] = new TH2F(name,name,hist_drift_ , min_drift_, max_drift_, hist_depth_, min_depth_, max_depth_); sprintf(name, "h_drift_depth_noadc_layer%i_module%i", i_layer, i_module); _h_drift_depth_noadc_[i_module + (i_layer -1) * 8] = new TH2F(name,name,hist_drift_ , min_drift_, max_drift_, hist_depth_, min_depth_, max_depth_); sprintf(name, "h_drift_depth_layer%i_module%i", i_layer, i_module); _h_drift_depth_[i_module + (i_layer -1) * 8] = new TH2F(name,name,hist_drift_ , min_drift_, max_drift_, hist_depth_, min_depth_, max_depth_); sprintf(name, "h_mean_layer%i_module%i", i_layer, i_module); _h_mean_[i_module + (i_layer -1) * 8] = new TH1F(name,name,hist_depth_, min_depth_, max_depth_); } } // just for some expaining plots h_cluster_shape_adc_ = new TH2F("h_cluster_shape_adc","cluster shape with adc weight", hist_x_, min_x_, max_x_, hist_y_, min_y_, max_y_); h_cluster_shape_noadc_ = new TH2F("h_cluster_shape_noadc","cluster shape without adc weight", hist_x_, min_x_, max_x_, hist_y_, min_y_, max_y_); h_cluster_shape_ = new TH2F("h_cluster_shape","cluster shape", hist_x_, min_x_, max_x_, hist_y_, min_y_, max_y_); h_cluster_shape_adc_rot_ = new TH2F("h_cluster_shape_adc_rot","cluster shape with adc weight", hist_x_, min_x_, max_x_, hist_y_, -max_y_, -min_y_); h_cluster_shape_noadc_rot_ = new TH2F("h_cluster_shape_noadc_rot","cluster shape without adc weight", hist_x_, min_x_, max_x_, hist_y_, -max_y_, -min_y_); h_cluster_shape_rot_ = new TH2F("h_cluster_shape_rot","cluster shape", hist_x_, min_x_, max_x_, hist_y_, -max_y_, -min_y_); h_tracks_ = new TH1F("h_tracks","h_tracks",2,0.,2.); event_counter_ = 0; trackEventsCounter_ = 0; // trackcounter_ = 0; hitCounter_ = 0; usedHitCounter_ = 0; pixelTracksCounter_ = 0; // edm::ESHandle<TrackerGeometry> estracker; //this block should not be in beginJob() // c.get<TrackerDigiGeometryRecord>().get(estracker); // tracker=&(* estracker); }
void SiPixelLorentzAngle::endJob | ( | void | ) | [virtual] |
Reimplemented from edm::EDAnalyzer.
Definition at line 426 of file SiPixelLorentzAngle.cc.
References _h_drift_depth_, _h_drift_depth_adc2_, _h_drift_depth_adc_, _h_drift_depth_noadc_, _h_mean_, gather_cfg::cout, event_counter_, validate-o2o-wbm::f1, filenameFit_, findMean(), FitTarget::Fit, h_cluster_shape_adc_, h_cluster_shape_adc_rot_, h_cluster_shape_noadc_, h_cluster_shape_noadc_rot_, h_drift_depth_adc_slice_, h_tracks_, hFile_, hist_depth_, hist_drift_, hitCounter_, i, max_drift_, min_drift_, p1, pixelTracksCounter_, trackEventsCounter_, and usedHitCounter_.
{ // produce histograms with the average adc counts for(int i_ring = 1; i_ring<=24; i_ring++){ _h_drift_depth_[i_ring]->Divide(_h_drift_depth_adc_[i_ring], _h_drift_depth_noadc_[i_ring]); } h_drift_depth_adc_slice_ = new TH1F("h_drift_depth_adc_slice", "slice of adc histogram", hist_drift_ , min_drift_, max_drift_); TF1 *f1 = new TF1("f1","[0] + [1]*x",50., 235.); f1->SetParName(0,"p0"); f1->SetParName(1,"p1"); f1->SetParameter(0,0); f1->SetParameter(1,0.4); ofstream fLorentzFit( filenameFit_.c_str(), ios::trunc ); cout.precision( 4 ); fLorentzFit << "module" << "\t" << "layer" << "\t" << "offset" << "\t" << "error" << "\t" << "slope" << "\t" << "error" << "\t" "rel.err" << "\t" "pull" << "\t" << "chi2" << "\t" << "prob" << endl; //loop over modlues and layers to fit the lorentz angle for( int i_layer = 1; i_layer<=3; i_layer++){ for(int i_module = 1; i_module<=8; i_module++){ //loop over bins in depth (z-local-coordinate) (in order to fit slices) for( int i = 1; i <= hist_depth_; i++){ findMean(i, (i_module + (i_layer - 1) * 8)); }// end loop over bins in depth _h_mean_[i_module + (i_layer - 1) * 8]->Fit(f1,"ERQ"); double p0 = f1->GetParameter(0); double e0 = f1->GetParError(0); double p1 = f1->GetParameter(1); double e1 = f1->GetParError(1); double chi2 = f1->GetChisquare(); double prob = f1->GetProb(); fLorentzFit << setprecision( 4 ) << i_module << "\t" << i_layer << "\t" << p0 << "\t" << e0 << "\t" << p1 << setprecision( 3 ) << "\t" << e1 << "\t" << e1 / p1 *100. << "\t"<< (p1 - 0.424) / e1 << "\t"<< chi2 << "\t" << prob << endl; } } // end loop over modules and layers fLorentzFit.close(); hFile_->cd(); for(int i_module = 1; i_module<=8; i_module++){ for(int i_layer = 1; i_layer<=3; i_layer++){ _h_drift_depth_adc_[i_module + (i_layer -1) * 8]->Write(); _h_drift_depth_adc2_[i_module + (i_layer -1) * 8]->Write(); _h_drift_depth_noadc_[i_module + (i_layer -1) * 8]->Write(); _h_drift_depth_[i_module + (i_layer -1) * 8]->Write(); _h_mean_[i_module + (i_layer -1) * 8]->Write(); } } h_cluster_shape_adc_->Write(); h_cluster_shape_noadc_->Write(); h_cluster_shape_adc_rot_->Write(); h_cluster_shape_noadc_rot_->Write(); h_tracks_->Write(); hFile_->Write(); hFile_->Close(); cout << "events: " << event_counter_ << endl; cout << "events with tracks: " << trackEventsCounter_ << endl; cout << "events with pixeltracks: " << pixelTracksCounter_ << endl; cout << "hits in the pixel: " << hitCounter_ << endl; cout << "number of used Hits: " << usedHitCounter_ << endl; }
void SiPixelLorentzAngle::fillPix | ( | const SiPixelCluster & | LocPix, |
const PixelTopology * | topol, | ||
Pixinfo & | pixinfo | ||
) | [inline, private] |
Definition at line 486 of file SiPixelLorentzAngle.cc.
References Pixinfo::adc, Pixinfo::col, Topology::localPosition(), Pixinfo::npix, SiPixelCluster::pixels(), Pixinfo::row, PV3DBase< T, PVType, FrameType >::x(), Pixinfo::x, PV3DBase< T, PVType, FrameType >::y(), and Pixinfo::y.
Referenced by analyze().
{ const std::vector<SiPixelCluster::Pixel>& pixvector = LocPix.pixels(); pixinfo.npix = 0; for(std::vector<SiPixelCluster::Pixel>::const_iterator itPix = pixvector.begin(); itPix != pixvector.end(); itPix++){ // for(pixinfo.npix = 0; pixinfo.npix < static_cast<int>(pixvector.size()); ++pixinfo.npix) { pixinfo.row[pixinfo.npix] = itPix->x; pixinfo.col[pixinfo.npix] = itPix->y; pixinfo.adc[pixinfo.npix] = itPix->adc; LocalPoint lp = topol->localPosition(MeasurementPoint(itPix->x + 0.5, itPix->y+0.5)); pixinfo.x[pixinfo.npix] = lp.x(); pixinfo.y[pixinfo.npix]= lp.y(); pixinfo.npix++; } }
void SiPixelLorentzAngle::findMean | ( | int | i, |
int | i_ring | ||
) | [private] |
Definition at line 503 of file SiPixelLorentzAngle.cc.
References _h_drift_depth_, _h_drift_depth_adc2_, _h_drift_depth_adc_, _h_drift_depth_noadc_, _h_mean_, error, h_drift_depth_adc_slice_, hist_drift_, j, timingPdfMaker::mean, and mathSSE::sqrt().
Referenced by endJob().
{ double nentries = 0; h_drift_depth_adc_slice_->Reset("ICE"); // determine sigma and sigma^2 of the adc counts and average adc counts //loop over bins in drift width for( int j = 1; j<= hist_drift_; j++){ if(_h_drift_depth_noadc_[i_ring]->GetBinContent(j, i) >= 1){ double adc_error2 = (_h_drift_depth_adc2_[i_ring]->GetBinContent(j,i) - _h_drift_depth_adc_[i_ring]->GetBinContent(j,i)*_h_drift_depth_adc_[i_ring]->GetBinContent(j, i) / _h_drift_depth_noadc_[i_ring]->GetBinContent(j, i)) / _h_drift_depth_noadc_[i_ring]->GetBinContent(j, i); _h_drift_depth_adc_[i_ring]->SetBinError(j, i, sqrt(adc_error2)); double error2 = adc_error2 / (_h_drift_depth_noadc_[i_ring]->GetBinContent(j,i) - 1.); _h_drift_depth_[i_ring]->SetBinError(j,i,sqrt(error2)); } else{ _h_drift_depth_[i_ring]->SetBinError(j,i,0); _h_drift_depth_adc_[i_ring]->SetBinError(j, i, 0); } h_drift_depth_adc_slice_->SetBinContent(j, _h_drift_depth_adc_[i_ring]->GetBinContent(j,i)); h_drift_depth_adc_slice_->SetBinError(j, _h_drift_depth_adc_[i_ring]->GetBinError(j,i)); nentries += _h_drift_depth_noadc_[i_ring]->GetBinContent(j,i); } // end loop over bins in drift width double mean = h_drift_depth_adc_slice_->GetMean(1); double error = 0; if(nentries != 0){ error = h_drift_depth_adc_slice_->GetRMS(1) / sqrt(nentries); } _h_mean_[i_ring]->SetBinContent(i, mean); _h_mean_[i_ring]->SetBinError(i, error); }
float SiPixelLorentzAngle::getLorentzAngle | ( | const uint32_t & | detid | ) | const |
Definition at line 13 of file SiPixelLorentzAngle.cc.
References m_LA.
Referenced by PixelCPEBase::computeLorentzShifts(), and PixelCPEBase::driftDirection().
{ std::map<unsigned int,float>::const_iterator id=m_LA.find(detid); if(id!=m_LA.end()) return id->second; else { edm::LogError("SiPixelLorentzAngle") << "SiPixelLorentzAngle for DetID " << detid << " is not stored" << std::endl; } return 0; }
const std::map<unsigned int,float>& SiPixelLorentzAngle::getLorentzAngles | ( | ) | const [inline] |
void SiPixelLorentzAngle::putLorentsAngles | ( | std::map< unsigned int, float > & | LA | ) | [inline] |
bool SiPixelLorentzAngle::putLorentzAngle | ( | const uint32_t & | detid, |
float & | value | ||
) |
Definition at line 4 of file SiPixelLorentzAngle.cc.
References cond::rpcobgas::detid, m_LA, and relativeConstraints::value.
Referenced by SiPixelLorentzAngleDB::analyze().
std::map<int, TH2F*> SiPixelLorentzAngle::_h_drift_depth_ [private] |
Definition at line 172 of file SiPixelLorentzAngle.h.
Referenced by beginJob(), endJob(), and findMean().
std::map<int, TH2F*> SiPixelLorentzAngle::_h_drift_depth_adc2_ [private] |
Definition at line 170 of file SiPixelLorentzAngle.h.
Referenced by analyze(), beginJob(), endJob(), and findMean().
std::map<int, TH2F*> SiPixelLorentzAngle::_h_drift_depth_adc_ [private] |
Definition at line 169 of file SiPixelLorentzAngle.h.
Referenced by analyze(), beginJob(), endJob(), and findMean().
std::map<int, TH2F*> SiPixelLorentzAngle::_h_drift_depth_noadc_ [private] |
Definition at line 171 of file SiPixelLorentzAngle.h.
Referenced by analyze(), beginJob(), endJob(), and findMean().
std::map<int, TH1F*> SiPixelLorentzAngle::_h_mean_ [private] |
Definition at line 174 of file SiPixelLorentzAngle.h.
Referenced by beginJob(), endJob(), and findMean().
int SiPixelLorentzAngle::bladeF_ [private] |
Definition at line 130 of file SiPixelLorentzAngle.h.
Referenced by analyze(), and beginJob().
double SiPixelLorentzAngle::chi2_ [private] |
Definition at line 118 of file SiPixelLorentzAngle.h.
Referenced by analyze(), and beginJob().
double SiPixelLorentzAngle::chi2F_ [private] |
Definition at line 136 of file SiPixelLorentzAngle.h.
Clust SiPixelLorentzAngle::clust_ [private] |
Definition at line 122 of file SiPixelLorentzAngle.h.
Referenced by analyze(), and beginJob().
double SiPixelLorentzAngle::clustChargeMax_ [private] |
Definition at line 152 of file SiPixelLorentzAngle.h.
Referenced by analyze().
Clust SiPixelLorentzAngle::clustF_ [private] |
Definition at line 140 of file SiPixelLorentzAngle.h.
Referenced by analyze(), and beginJob().
int SiPixelLorentzAngle::clustSizeYMin_ [private] |
Definition at line 150 of file SiPixelLorentzAngle.h.
Referenced by analyze().
edm::ParameterSet SiPixelLorentzAngle::conf_ [private] |
Definition at line 144 of file SiPixelLorentzAngle.h.
Referenced by analyze().
int SiPixelLorentzAngle::diskF_ [private] |
Definition at line 129 of file SiPixelLorentzAngle.h.
Referenced by analyze(), and beginJob().
float SiPixelLorentzAngle::eta_ [private] |
Definition at line 116 of file SiPixelLorentzAngle.h.
Referenced by analyze(), and beginJob().
float SiPixelLorentzAngle::etaF_ [private] |
Definition at line 134 of file SiPixelLorentzAngle.h.
int SiPixelLorentzAngle::event_ [private] |
Definition at line 110 of file SiPixelLorentzAngle.h.
Referenced by analyze(), and beginJob().
int SiPixelLorentzAngle::event_counter_ [private] |
Definition at line 184 of file SiPixelLorentzAngle.h.
Referenced by analyze(), beginJob(), and endJob().
int SiPixelLorentzAngle::eventF_ [private] |
Definition at line 127 of file SiPixelLorentzAngle.h.
std::string SiPixelLorentzAngle::filename_ [private] |
Definition at line 145 of file SiPixelLorentzAngle.h.
Referenced by beginJob().
std::string SiPixelLorentzAngle::filenameFit_ [private] |
Definition at line 146 of file SiPixelLorentzAngle.h.
Referenced by endJob().
TH2F* SiPixelLorentzAngle::h_cluster_shape_ [private] |
Definition at line 177 of file SiPixelLorentzAngle.h.
Referenced by beginJob().
TH2F* SiPixelLorentzAngle::h_cluster_shape_adc_ [private] |
Definition at line 175 of file SiPixelLorentzAngle.h.
Referenced by analyze(), beginJob(), and endJob().
TH2F* SiPixelLorentzAngle::h_cluster_shape_adc_rot_ [private] |
Definition at line 178 of file SiPixelLorentzAngle.h.
Referenced by analyze(), beginJob(), and endJob().
TH2F* SiPixelLorentzAngle::h_cluster_shape_noadc_ [private] |
Definition at line 176 of file SiPixelLorentzAngle.h.
Referenced by analyze(), beginJob(), and endJob().
TH2F* SiPixelLorentzAngle::h_cluster_shape_noadc_rot_ [private] |
Definition at line 179 of file SiPixelLorentzAngle.h.
Referenced by analyze(), beginJob(), and endJob().
TH2F* SiPixelLorentzAngle::h_cluster_shape_rot_ [private] |
Definition at line 180 of file SiPixelLorentzAngle.h.
Referenced by beginJob().
TH1F* SiPixelLorentzAngle::h_drift_depth_adc_slice_ [private] |
Definition at line 173 of file SiPixelLorentzAngle.h.
Referenced by endJob(), and findMean().
TH1F* SiPixelLorentzAngle::h_tracks_ [private] |
Definition at line 181 of file SiPixelLorentzAngle.h.
Referenced by analyze(), beginJob(), and endJob().
TFile* SiPixelLorentzAngle::hFile_ [private] |
Definition at line 104 of file SiPixelLorentzAngle.h.
Referenced by beginJob(), and endJob().
int SiPixelLorentzAngle::hist_depth_ [private] |
Definition at line 153 of file SiPixelLorentzAngle.h.
Referenced by beginJob(), and endJob().
int SiPixelLorentzAngle::hist_drift_ [private] |
Definition at line 154 of file SiPixelLorentzAngle.h.
Referenced by beginJob(), endJob(), and findMean().
int SiPixelLorentzAngle::hist_x_ [private] |
Definition at line 157 of file SiPixelLorentzAngle.h.
Referenced by beginJob(), and SiPixelLorentzAngle().
int SiPixelLorentzAngle::hist_y_ [private] |
Definition at line 158 of file SiPixelLorentzAngle.h.
Referenced by beginJob(), and SiPixelLorentzAngle().
int SiPixelLorentzAngle::hitCounter_ [private] |
Definition at line 184 of file SiPixelLorentzAngle.h.
Referenced by analyze(), beginJob(), and endJob().
int SiPixelLorentzAngle::isflipped_ [private] |
Definition at line 114 of file SiPixelLorentzAngle.h.
Referenced by analyze(), and beginJob().
int SiPixelLorentzAngle::ladder_ [private] |
Definition at line 112 of file SiPixelLorentzAngle.h.
Referenced by analyze(), and beginJob().
int SiPixelLorentzAngle::layer_ [private] |
Definition at line 113 of file SiPixelLorentzAngle.h.
Referenced by analyze(), and beginJob().
std::map<unsigned int,float> SiPixelLorentzAngle::m_LA [private] |
Definition at line 25 of file SiPixelLorentzAngle.h.
Referenced by getLorentzAngle(), getLorentzAngles(), putLorentsAngles(), and putLorentzAngle().
const MagneticField* SiPixelLorentzAngle::magfield [private] |
Definition at line 195 of file SiPixelLorentzAngle.h.
double SiPixelLorentzAngle::max_depth_ [private] |
Definition at line 165 of file SiPixelLorentzAngle.h.
Referenced by beginJob(), and SiPixelLorentzAngle().
double SiPixelLorentzAngle::max_drift_ [private] |
Definition at line 167 of file SiPixelLorentzAngle.h.
Referenced by beginJob(), endJob(), and SiPixelLorentzAngle().
double SiPixelLorentzAngle::max_x_ [private] |
Definition at line 160 of file SiPixelLorentzAngle.h.
Referenced by beginJob(), and SiPixelLorentzAngle().
double SiPixelLorentzAngle::max_y_ [private] |
Definition at line 162 of file SiPixelLorentzAngle.h.
Referenced by beginJob(), and SiPixelLorentzAngle().
double SiPixelLorentzAngle::min_depth_ [private] |
Definition at line 164 of file SiPixelLorentzAngle.h.
Referenced by beginJob(), and SiPixelLorentzAngle().
double SiPixelLorentzAngle::min_drift_ [private] |
Definition at line 166 of file SiPixelLorentzAngle.h.
Referenced by beginJob(), endJob(), and SiPixelLorentzAngle().
double SiPixelLorentzAngle::min_x_ [private] |
Definition at line 159 of file SiPixelLorentzAngle.h.
Referenced by beginJob(), and SiPixelLorentzAngle().
double SiPixelLorentzAngle::min_y_ [private] |
Definition at line 161 of file SiPixelLorentzAngle.h.
Referenced by beginJob(), and SiPixelLorentzAngle().
int SiPixelLorentzAngle::module_ [private] |
Definition at line 111 of file SiPixelLorentzAngle.h.
Referenced by analyze(), and beginJob().
int SiPixelLorentzAngle::moduleF_ [private] |
Definition at line 132 of file SiPixelLorentzAngle.h.
Referenced by analyze(), and beginJob().
double SiPixelLorentzAngle::ndof_ [private] |
Definition at line 119 of file SiPixelLorentzAngle.h.
Referenced by analyze(), and beginJob().
double SiPixelLorentzAngle::ndofF_ [private] |
Definition at line 137 of file SiPixelLorentzAngle.h.
double SiPixelLorentzAngle::normChi2Max_ [private] |
Definition at line 149 of file SiPixelLorentzAngle.h.
Referenced by analyze().
int SiPixelLorentzAngle::panelF_ [private] |
Definition at line 131 of file SiPixelLorentzAngle.h.
Referenced by analyze(), and beginJob().
float SiPixelLorentzAngle::phi_ [private] |
Definition at line 117 of file SiPixelLorentzAngle.h.
Referenced by analyze(), and beginJob().
float SiPixelLorentzAngle::phiF_ [private] |
Definition at line 135 of file SiPixelLorentzAngle.h.
int SiPixelLorentzAngle::pixelTracksCounter_ [private] |
Definition at line 184 of file SiPixelLorentzAngle.h.
Referenced by analyze(), beginJob(), and endJob().
Pixinfo SiPixelLorentzAngle::pixinfo_ [private] |
Definition at line 120 of file SiPixelLorentzAngle.h.
Referenced by analyze(), and beginJob().
Pixinfo SiPixelLorentzAngle::pixinfoF_ [private] |
Definition at line 138 of file SiPixelLorentzAngle.h.
Referenced by analyze(), and beginJob().
float SiPixelLorentzAngle::pt_ [private] |
Definition at line 115 of file SiPixelLorentzAngle.h.
Referenced by analyze(), and beginJob().
float SiPixelLorentzAngle::ptF_ [private] |
Definition at line 133 of file SiPixelLorentzAngle.h.
double SiPixelLorentzAngle::ptmin_ [private] |
Definition at line 147 of file SiPixelLorentzAngle.h.
Referenced by analyze().
Rechit SiPixelLorentzAngle::rechit_ [private] |
Definition at line 123 of file SiPixelLorentzAngle.h.
Referenced by analyze(), and beginJob().
Rechit SiPixelLorentzAngle::rechitF_ [private] |
Definition at line 141 of file SiPixelLorentzAngle.h.
Referenced by analyze(), and beginJob().
double SiPixelLorentzAngle::residualMax_ [private] |
Definition at line 151 of file SiPixelLorentzAngle.h.
Referenced by analyze().
const TransientTrackingRecHitBuilder* SiPixelLorentzAngle::RHBuilder [private] |
Definition at line 191 of file SiPixelLorentzAngle.h.
int SiPixelLorentzAngle::run_ [private] |
Definition at line 109 of file SiPixelLorentzAngle.h.
Referenced by analyze(), and beginJob().
int SiPixelLorentzAngle::runF_ [private] |
Definition at line 126 of file SiPixelLorentzAngle.h.
int SiPixelLorentzAngle::sideF_ [private] |
Definition at line 128 of file SiPixelLorentzAngle.h.
Referenced by analyze(), and beginJob().
bool SiPixelLorentzAngle::simData_ [private] |
Definition at line 148 of file SiPixelLorentzAngle.h.
Referenced by analyze().
Hit SiPixelLorentzAngle::simhit_ [private] |
Definition at line 121 of file SiPixelLorentzAngle.h.
Referenced by analyze(), and beginJob().
Hit SiPixelLorentzAngle::simhitF_ [private] |
Definition at line 139 of file SiPixelLorentzAngle.h.
Referenced by analyze(), and beginJob().
TTree* SiPixelLorentzAngle::SiPixelLorentzAngleTree_ [private] |
Definition at line 105 of file SiPixelLorentzAngle.h.
Referenced by analyze(), and beginJob().
TTree* SiPixelLorentzAngle::SiPixelLorentzAngleTreeForward_ [private] |
Definition at line 106 of file SiPixelLorentzAngle.h.
Referenced by analyze(), and beginJob().
Definition at line 190 of file SiPixelLorentzAngle.h.
const KFTrajectoryFitter* SiPixelLorentzAngle::theFitter [private] |
Definition at line 193 of file SiPixelLorentzAngle.h.
Definition at line 187 of file SiPixelLorentzAngle.h.
Definition at line 188 of file SiPixelLorentzAngle.h.
const KFTrajectorySmoother* SiPixelLorentzAngle::theSmoother [private] |
Definition at line 192 of file SiPixelLorentzAngle.h.
KFUpdator* SiPixelLorentzAngle::theUpdator [private] |
Definition at line 189 of file SiPixelLorentzAngle.h.
const TrackerGeometry* SiPixelLorentzAngle::tracker [private] |
Definition at line 194 of file SiPixelLorentzAngle.h.
Referenced by analyze().
int SiPixelLorentzAngle::trackEventsCounter_ [private] |
Definition at line 184 of file SiPixelLorentzAngle.h.
Referenced by analyze(), beginJob(), and endJob().
Hit SiPixelLorentzAngle::trackhit_ [private] |
Definition at line 121 of file SiPixelLorentzAngle.h.
Referenced by analyze(), and beginJob().
Hit SiPixelLorentzAngle::trackhitF_ [private] |
Definition at line 139 of file SiPixelLorentzAngle.h.
Referenced by analyze(), and beginJob().
Definition at line 196 of file SiPixelLorentzAngle.h.
int SiPixelLorentzAngle::usedHitCounter_ [private] |
Definition at line 184 of file SiPixelLorentzAngle.h.
Referenced by analyze(), beginJob(), and endJob().
double SiPixelLorentzAngle::width_ [private] |
Definition at line 163 of file SiPixelLorentzAngle.h.
Referenced by analyze(), and SiPixelLorentzAngle().