CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
analyzer::SiPixelLorentzAngle Class Reference

#include <SiPixelLorentzAngle.h>

Inheritance diagram for analyzer::SiPixelLorentzAngle:
edm::EDAnalyzer edm::EDConsumerBase

Public Member Functions

void analyze (const edm::Event &e, const edm::EventSetup &c) override
 
void beginJob () override
 
void endJob () override
 
 SiPixelLorentzAngle (const edm::ParameterSet &conf)
 
 ~SiPixelLorentzAngle () override
 
- Public Member Functions inherited from edm::EDAnalyzer
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzer ()
 
SerialTaskQueueglobalLuminosityBlocksQueue ()
 
SerialTaskQueueglobalRunsQueue ()
 
ModuleDescription const & moduleDescription () const
 
std::string workerType () const
 
 ~EDAnalyzer () override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase &&)=default
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESProxyIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::array< std::vector< ModuleDescription const * > *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Member Functions

void fillPix (const SiPixelCluster &LocPix, const PixelTopology *topol, Pixinfo &pixinfo)
 
void findMean (int i, int i_ring)
 

Private Attributes

std::map< int, TH2F * > _h_drift_depth_
 
std::map< int, TH2F * > _h_drift_depth_adc2_
 
std::map< int, TH2F * > _h_drift_depth_adc_
 
std::map< int, TH2F * > _h_drift_depth_noadc_
 
std::map< int, TH1F * > _h_mean_
 
int bladeF_
 
double chi2_
 
double chi2F_
 
Clust clust_
 
double clustChargeMax_
 
Clust clustF_
 
int clustSizeYMin_
 
int diskF_
 
float eta_
 
float etaF_
 
int event_
 
int event_counter_
 
int eventF_
 
std::string filename_
 
std::string filenameFit_
 
TH2F * h_cluster_shape_
 
TH2F * h_cluster_shape_adc_
 
TH2F * h_cluster_shape_adc_rot_
 
TH2F * h_cluster_shape_noadc_
 
TH2F * h_cluster_shape_noadc_rot_
 
TH2F * h_cluster_shape_rot_
 
TH1F * h_drift_depth_adc_slice_
 
TH1F * h_tracks_
 
TFile * hFile_
 
int hist_depth_
 
int hist_drift_
 
int hist_x_
 
int hist_y_
 
int hitCounter_
 
int isflipped_
 
int ladder_
 
int layer_
 
double max_depth_
 
double max_drift_
 
double max_x_
 
double max_y_
 
double min_depth_
 
double min_drift_
 
double min_x_
 
double min_y_
 
int module_
 
int moduleF_
 
double ndof_
 
double ndofF_
 
double normChi2Max_
 
int panelF_
 
float phi_
 
float phiF_
 
int pixelTracksCounter_
 
Pixinfo pixinfo_
 
Pixinfo pixinfoF_
 
float pt_
 
float ptF_
 
double ptmin_
 
Rechit rechit_
 
Rechit rechitF_
 
double residualMax_
 
const TransientTrackingRecHitBuilderRHBuilder
 
int run_
 
int runF_
 
int sideF_
 
bool simData_
 
Hit simhit_
 
Hit simhitF_
 
TTree * SiPixelLorentzAngleTree_
 
TTree * SiPixelLorentzAngleTreeForward_
 
edm::EDGetTokenT< TrajTrackAssociationCollectiont_trajTrack
 
Chi2MeasurementEstimatortheEstimator
 
const KFTrajectoryFittertheFitter
 
PropagatorWithMaterialthePropagator
 
PropagatorWithMaterialthePropagatorOp
 
const KFTrajectorySmoothertheSmoother
 
KFUpdatortheUpdator
 
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecordtrackerGeomToken_
 
TrackerHitAssociator::Config trackerHitAssociatorConfig_
 
edm::ESGetToken< TrackerTopology, TrackerTopologyRcdtrackerTopoToken_
 
int trackEventsCounter_
 
Hit trackhit_
 
Hit trackhitF_
 
TrajectoryStateTransform tsTransform
 
int usedHitCounter_
 
double width_
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 
static bool wantsGlobalLuminosityBlocks ()
 
static bool wantsGlobalRuns ()
 
static bool wantsInputProcessBlocks ()
 
static bool wantsProcessBlocks ()
 
static bool wantsStreamLuminosityBlocks ()
 
static bool wantsStreamRuns ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< B > consumes (edm::InputTag tag) noexcept
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes () noexcept
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag) noexcept
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 

Detailed Description

Definition at line 83 of file SiPixelLorentzAngle.h.

Constructor & Destructor Documentation

◆ SiPixelLorentzAngle()

SiPixelLorentzAngle::SiPixelLorentzAngle ( const edm::ParameterSet conf)
explicit

Definition at line 39 of file SiPixelLorentzAngle.cc.

40  : filename_(conf.getParameter<std::string>("fileName")),
41  filenameFit_(conf.getParameter<std::string>("fileNameFit")),
42  ptmin_(conf.getParameter<double>("ptMin")),
43  simData_(conf.getParameter<bool>("simData")),
44  normChi2Max_(conf.getParameter<double>("normChi2Max")),
45  clustSizeYMin_(conf.getParameter<int>("clustSizeYMin")),
46  residualMax_(conf.getParameter<double>("residualMax")),
47  clustChargeMax_(conf.getParameter<double>("clustChargeMax")),
48  hist_depth_(conf.getParameter<int>("binsDepth")),
49  hist_drift_(conf.getParameter<int>("binsDrift")),
51  // anglefinder_=new TrackLocalAngle(conf);
52  hist_x_ = 50;
53  hist_y_ = 100;
54  min_x_ = -500.;
55  max_x_ = 500.;
56  min_y_ = -1500.;
57  max_y_ = 500.;
58  width_ = 0.0285;
59  min_depth_ = -100.;
60  max_depth_ = 400.;
61  min_drift_ = -1000.; //-200.;(conf.getParameter<double>("residualMax"))
62  max_drift_ = 1000.; //400.;
63 
64  t_trajTrack = consumes<TrajTrackAssociationCollection>(conf.getParameter<edm::InputTag>("src"));
65  trackerTopoToken_ = esConsumes<TrackerTopology, TrackerTopologyRcd>();
66  trackerGeomToken_ = esConsumes<TrackerGeometry, TrackerDigiGeometryRecord>();
67 }

References edm::ParameterSet::getParameter(), hist_x_, hist_y_, max_depth_, max_drift_, max_x_, max_y_, min_depth_, min_drift_, min_x_, min_y_, t_trajTrack, trackerGeomToken_, trackerTopoToken_, and width_.

◆ ~SiPixelLorentzAngle()

SiPixelLorentzAngle::~SiPixelLorentzAngle ( )
override

Definition at line 70 of file SiPixelLorentzAngle.cc.

70 {}

Member Function Documentation

◆ analyze()

void SiPixelLorentzAngle::analyze ( const edm::Event e,
const edm::EventSetup c 
)
overridevirtual

Implements edm::EDAnalyzer.

Definition at line 182 of file SiPixelLorentzAngle.cc.

182  {
183  //Retrieve tracker topology from geometry
184  edm::ESHandle<TrackerTopology> tTopoHandle = es.getHandle(trackerTopoToken_);
185  const TrackerTopology* const tTopo = tTopoHandle.product();
186 
187  event_counter_++;
188  // if(event_counter_ % 500 == 0) cout << "event number " << event_counter_ << endl;
189  cout << "event number " << event_counter_ << endl;
190 
191  edm::ESHandle<TrackerGeometry> estracker = es.getHandle(trackerGeomToken_);
192  const TrackerGeometry* tracker = &(*estracker);
193 
194  std::unique_ptr<TrackerHitAssociator> associate;
195  if (simData_)
196  associate = std::make_unique<TrackerHitAssociator>(e, trackerHitAssociatorConfig_);
197  // restet values
198  module_ = -1;
199  layer_ = -1;
200  ladder_ = -1;
201  isflipped_ = -1;
202  pt_ = -999;
203  eta_ = 999;
204  phi_ = 999;
205  pixinfo_.npix = 0;
206 
207  run_ = e.id().run();
208  event_ = e.id().event();
209 
210  // get the association map between tracks and trajectories
211  edm::Handle<TrajTrackAssociationCollection> trajTrackCollectionHandle;
212  e.getByToken(t_trajTrack, trajTrackCollectionHandle);
213  if (!trajTrackCollectionHandle->empty()) {
215  for (TrajTrackAssociationCollection::const_iterator it = trajTrackCollectionHandle->begin();
216  it != trajTrackCollectionHandle->end();
217  ++it) {
218  const Track& track = *it->val;
219  const Trajectory& traj = *it->key;
220 
221  // get the trajectory measurements
222  std::vector<TrajectoryMeasurement> tmColl = traj.measurements();
223  // TrajectoryStateOnSurface tsos = tsoscomb( itTraj->forwardPredictedState(), itTraj->backwardPredictedState() );
224  pt_ = track.pt();
225  eta_ = track.eta();
226  phi_ = track.phi();
227  chi2_ = traj.chiSquared();
228  ndof_ = traj.ndof();
229  if (pt_ < ptmin_)
230  continue;
231  // iterate over trajectory measurements
232  std::vector<PSimHit> matched;
233  h_tracks_->Fill(0);
234  bool pixeltrack = false;
235  for (std::vector<TrajectoryMeasurement>::const_iterator itTraj = tmColl.begin(); itTraj != tmColl.end();
236  itTraj++) {
237  if (!itTraj->updatedState().isValid())
238  continue;
240  if (!recHit->isValid() || recHit->geographicalId().det() != DetId::Tracker)
241  continue;
242  unsigned int subDetID = (recHit->geographicalId().subdetId());
243  if (subDetID == PixelSubdetector::PixelBarrel || subDetID == PixelSubdetector::PixelEndcap) {
244  if (!pixeltrack) {
245  h_tracks_->Fill(1);
247  }
248  pixeltrack = true;
249  }
250  if (subDetID == PixelSubdetector::PixelBarrel) {
251  hitCounter_++;
252 
253  DetId detIdObj = recHit->geographicalId();
254  const PixelGeomDetUnit* theGeomDet = dynamic_cast<const PixelGeomDetUnit*>(tracker->idToDet(detIdObj));
255  if (!theGeomDet)
256  continue;
257 
258  const PixelTopology* topol = &(theGeomDet->specificTopology());
259 
260  if (!topol)
261  continue;
262 
263  layer_ = tTopo->pxbLayer(detIdObj);
264  ladder_ = tTopo->pxbLadder(detIdObj);
265  module_ = tTopo->pxbModule(detIdObj);
266  float tmp1 = theGeomDet->surface().toGlobal(Local3DPoint(0., 0., 0.)).perp();
267  float tmp2 = theGeomDet->surface().toGlobal(Local3DPoint(0., 0., 1.)).perp();
268  if (tmp2 < tmp1)
269  isflipped_ = 1;
270  else
271  isflipped_ = 0;
272  const SiPixelRecHit* recHitPix = dynamic_cast<const SiPixelRecHit*>((*recHit).hit());
273  if (!recHitPix)
274  continue;
275  rechit_.x = recHitPix->localPosition().x();
276  rechit_.y = recHitPix->localPosition().y();
277  SiPixelRecHit::ClusterRef const& cluster = recHitPix->cluster();
278 
279  // fill entries in clust_
280  clust_.x = (cluster)->x();
281  clust_.y = (cluster)->y();
282  clust_.charge = (cluster->charge()) / 1000.;
283  clust_.size_x = cluster->sizeX();
284  clust_.size_y = cluster->sizeY();
285  clust_.maxPixelCol = cluster->maxPixelCol();
286  clust_.maxPixelRow = cluster->maxPixelRow();
287  clust_.minPixelCol = cluster->minPixelCol();
288  clust_.minPixelRow = cluster->minPixelRow();
289  // fill entries in pixinfo_:
290  fillPix(*cluster, topol, pixinfo_);
291  // fill the trackhit info
292  TrajectoryStateOnSurface tsos = itTraj->updatedState();
293  if (!tsos.isValid()) {
294  cout << "tsos not valid" << endl;
295  continue;
296  }
297  LocalVector trackdirection = tsos.localDirection();
298  LocalPoint trackposition = tsos.localPosition();
299 
300  if (trackdirection.z() == 0)
301  continue;
302  // the local position and direction
303  trackhit_.alpha = atan2(trackdirection.z(), trackdirection.x());
304  trackhit_.beta = atan2(trackdirection.z(), trackdirection.y());
305  trackhit_.gamma = atan2(trackdirection.x(), trackdirection.y());
306  trackhit_.x = trackposition.x();
307  trackhit_.y = trackposition.y();
308 
309  // fill entries in simhit_:
310  if (simData_) {
311  matched.clear();
312  matched = associate->associateHit((*recHitPix));
313  float dr_start = 9999.;
314  for (std::vector<PSimHit>::iterator isim = matched.begin(); isim != matched.end(); ++isim) {
315  DetId simdetIdObj((*isim).detUnitId());
316  if (simdetIdObj == detIdObj) {
317  float sim_x1 = (*isim).entryPoint().x(); // width (row index, in col direction)
318  float sim_y1 = (*isim).entryPoint().y(); // length (col index, in row direction)
319  float sim_x2 = (*isim).exitPoint().x();
320  float sim_y2 = (*isim).exitPoint().y();
321  float sim_xpos = 0.5 * (sim_x1 + sim_x2);
322  float sim_ypos = 0.5 * (sim_y1 + sim_y2);
323  float sim_px = (*isim).momentumAtEntry().x();
324  float sim_py = (*isim).momentumAtEntry().y();
325  float sim_pz = (*isim).momentumAtEntry().z();
326 
327  float dr = (sim_xpos - (recHitPix->localPosition().x())) * (sim_xpos - recHitPix->localPosition().x()) +
328  (sim_ypos - recHitPix->localPosition().y()) * (sim_ypos - recHitPix->localPosition().y());
329  if (dr < dr_start) {
330  simhit_.x = sim_xpos;
331  simhit_.y = sim_ypos;
332  simhit_.alpha = atan2(sim_pz, sim_px);
333  simhit_.beta = atan2(sim_pz, sim_py);
334  simhit_.gamma = atan2(sim_px, sim_py);
335  dr_start = dr;
336  }
337  }
338  } // end of filling simhit_
339  }
340  // is one pixel in cluster a large pixel ? (hit will be excluded)
341  bool large_pix = false;
342  for (int j = 0; j < pixinfo_.npix; j++) {
343  int colpos = static_cast<int>(pixinfo_.col[j]);
344  if (pixinfo_.row[j] == 0 || pixinfo_.row[j] == 79 || pixinfo_.row[j] == 80 || pixinfo_.row[j] == 159 ||
345  colpos % 52 == 0 || colpos % 52 == 51) {
346  large_pix = true;
347  }
348  }
349 
350  double residual = TMath::Sqrt((trackhit_.x - rechit_.x) * (trackhit_.x - rechit_.x) +
351  (trackhit_.y - rechit_.y) * (trackhit_.y - rechit_.y));
352 
353  SiPixelLorentzAngleTree_->Fill();
354  if (!large_pix && (chi2_ / ndof_) < normChi2Max_ && cluster->sizeY() >= clustSizeYMin_ &&
355  residual < residualMax_ && (cluster->charge() < clustChargeMax_)) {
356  usedHitCounter_++;
357  // iterate over pixels in hit
358  for (int j = 0; j < pixinfo_.npix; j++) {
359  // use trackhits
360  float dx = (pixinfo_.x[j] - (trackhit_.x - width_ / 2. / TMath::Tan(trackhit_.alpha))) * 10000.;
361  float dy = (pixinfo_.y[j] - (trackhit_.y - width_ / 2. / TMath::Tan(trackhit_.beta))) * 10000.;
362  float depth = dy * tan(trackhit_.beta);
363  float drift = dx - dy * tan(trackhit_.gamma);
367  if (layer_ == 3 && module_ == 1 && isflipped_) {
368  float dx_rot = dx * TMath::Cos(trackhit_.gamma) + dy * TMath::Sin(trackhit_.gamma);
369  float dy_rot = dy * TMath::Cos(trackhit_.gamma) - dx * TMath::Sin(trackhit_.gamma);
371  h_cluster_shape_noadc_->Fill(dx, dy);
372  h_cluster_shape_adc_rot_->Fill(dx_rot, dy_rot, pixinfo_.adc[j]);
373  h_cluster_shape_noadc_rot_->Fill(dx_rot, dy_rot);
374  }
375  }
376  }
377  } else if (subDetID == PixelSubdetector::PixelEndcap) {
378  DetId detIdObj = recHit->geographicalId();
379  const PixelGeomDetUnit* theGeomDet = dynamic_cast<const PixelGeomDetUnit*>(tracker->idToDet(detIdObj));
380  if (!theGeomDet)
381  continue;
382 
383  const PixelTopology* topol = &(theGeomDet->specificTopology());
384 
385  if (!topol)
386  continue;
387 
388  sideF_ = tTopo->pxfSide(detIdObj);
389  diskF_ = tTopo->pxfDisk(detIdObj);
390  bladeF_ = tTopo->pxfBlade(detIdObj);
391  panelF_ = tTopo->pxfPanel(detIdObj);
392  moduleF_ = tTopo->pxfModule(detIdObj);
393  //float tmp1 = theGeomDet->surface().toGlobal(Local3DPoint(0.,0.,0.)).perp();
394  //float tmp2 = theGeomDet->surface().toGlobal(Local3DPoint(0.,0.,1.)).perp();
395  //if ( tmp2<tmp1 ) isflipped_ = 1;
396  //else isflipped_ = 0;
397  const SiPixelRecHit* recHitPix = dynamic_cast<const SiPixelRecHit*>((*recHit).hit());
398  if (!recHitPix)
399  continue;
400  rechitF_.x = recHitPix->localPosition().x();
401  rechitF_.y = recHitPix->localPosition().y();
402  SiPixelRecHit::ClusterRef const& cluster = recHitPix->cluster();
403 
404  // fill entries in clust_
405  clustF_.x = (cluster)->x();
406  clustF_.y = (cluster)->y();
407  clustF_.charge = (cluster->charge()) / 1000.;
408  clustF_.size_x = cluster->sizeX();
409  clustF_.size_y = cluster->sizeY();
410  clustF_.maxPixelCol = cluster->maxPixelCol();
411  clustF_.maxPixelRow = cluster->maxPixelRow();
412  clustF_.minPixelCol = cluster->minPixelCol();
413  clustF_.minPixelRow = cluster->minPixelRow();
414  // fill entries in pixinfo_:
415  fillPix(*cluster, topol, pixinfoF_);
416  // fill the trackhit info
417  TrajectoryStateOnSurface tsos = itTraj->updatedState();
418  if (!tsos.isValid()) {
419  cout << "tsos not valid" << endl;
420  continue;
421  }
422  LocalVector trackdirection = tsos.localDirection();
423  LocalPoint trackposition = tsos.localPosition();
424 
425  if (trackdirection.z() == 0)
426  continue;
427  // the local position and direction
428  trackhitF_.alpha = atan2(trackdirection.z(), trackdirection.x());
429  trackhitF_.beta = atan2(trackdirection.z(), trackdirection.y());
430  trackhitF_.gamma = atan2(trackdirection.x(), trackdirection.y());
431  trackhitF_.x = trackposition.x();
432  trackhitF_.y = trackposition.y();
433 
434  // fill entries in simhit_:
435  if (simData_) {
436  matched.clear();
437  matched = associate->associateHit((*recHitPix));
438  float dr_start = 9999.;
439  for (std::vector<PSimHit>::iterator isim = matched.begin(); isim != matched.end(); ++isim) {
440  DetId simdetIdObj((*isim).detUnitId());
441  if (simdetIdObj == detIdObj) {
442  float sim_x1 = (*isim).entryPoint().x(); // width (row index, in col direction)
443  float sim_y1 = (*isim).entryPoint().y(); // length (col index, in row direction)
444  float sim_x2 = (*isim).exitPoint().x();
445  float sim_y2 = (*isim).exitPoint().y();
446  float sim_xpos = 0.5 * (sim_x1 + sim_x2);
447  float sim_ypos = 0.5 * (sim_y1 + sim_y2);
448  float sim_px = (*isim).momentumAtEntry().x();
449  float sim_py = (*isim).momentumAtEntry().y();
450  float sim_pz = (*isim).momentumAtEntry().z();
451 
452  float dr = (sim_xpos - (recHitPix->localPosition().x())) * (sim_xpos - recHitPix->localPosition().x()) +
453  (sim_ypos - recHitPix->localPosition().y()) * (sim_ypos - recHitPix->localPosition().y());
454  if (dr < dr_start) {
455  simhitF_.x = sim_xpos;
456  simhitF_.y = sim_ypos;
457  simhitF_.alpha = atan2(sim_pz, sim_px);
458  simhitF_.beta = atan2(sim_pz, sim_py);
459  simhitF_.gamma = atan2(sim_px, sim_py);
460  dr_start = dr;
461  }
462  }
463  } // end of filling simhit_
464  }
466  }
467  } //end iteration over trajectory measurements
468  } //end iteration over trajectories
469  }
470 }

References _h_drift_depth_adc2_, _h_drift_depth_adc_, _h_drift_depth_noadc_, Pixinfo::adc, Hit::alpha, edm::AssociationMap< Tag >::begin(), Hit::beta, bladeF_, Clust::charge, chi2_, Trajectory::chiSquared(), clust_, clustChargeMax_, SiPixelRecHit::cluster(), clustF_, clustSizeYMin_, Pixinfo::col, edm::AssociationMap< edm::OneToOne< std::vector< Trajectory >, reco::TrackCollection, unsigned short > >::const_iterator, gather_cfg::cout, LEDCalibrationChannels::depth, diskF_, flavorHistoryFilter_cfi::dr, shallow::drift(), PVValHelper::dx, PVValHelper::dy, MillePedeFileConverter_cfg::e, edm::AssociationMap< Tag >::empty(), edm::AssociationMap< Tag >::end(), eta_, event_, event_counter_, HcalObjRepresent::Fill(), fillPix(), Hit::gamma, edm::EventSetup::getHandle(), h_cluster_shape_adc_, h_cluster_shape_adc_rot_, h_cluster_shape_noadc_, h_cluster_shape_noadc_rot_, h_tracks_, hitCounter_, isflipped_, TrajectoryStateOnSurface::isValid(), dqmiolumiharvest::j, ladder_, layer_, TrajectoryStateOnSurface::localDirection(), BaseTrackerRecHit::localPosition(), TrajectoryStateOnSurface::localPosition(), muonTagProbeFilters_cff::matched, Clust::maxPixelCol, Clust::maxPixelRow, Trajectory::measurements(), Clust::minPixelCol, Clust::minPixelRow, module_, moduleF_, Trajectory::ndof(), ndof_, normChi2Max_, Pixinfo::npix, panelF_, PV3DBase< T, PVType, FrameType >::perp(), phi_, PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, pixelTracksCounter_, pixinfo_, pixinfoF_, edm::ESHandle< T >::product(), pt_, ptmin_, TrackerTopology::pxbLadder(), TrackerTopology::pxbLayer(), TrackerTopology::pxbModule(), TrackerTopology::pxfBlade(), TrackerTopology::pxfDisk(), TrackerTopology::pxfModule(), TrackerTopology::pxfPanel(), TrackerTopology::pxfSide(), rpcPointValidation_cfi::recHit, rechit_, rechitF_, residualMax_, Pixinfo::row, run_, sideF_, simData_, simhit_, simhitF_, SiPixelLorentzAngleTree_, SiPixelLorentzAngleTreeForward_, Clust::size_x, Clust::size_y, PixelGeomDetUnit::specificTopology(), GeomDet::surface(), t_trajTrack, funct::tan(), Surface::toGlobal(), HLT_FULL_cff::track, DetId::Tracker, PbPb_ZMuSkimMuonDPG_cff::tracker, trackerGeomToken_, trackerHitAssociatorConfig_, trackerTopoToken_, trackEventsCounter_, trackhit_, trackhitF_, usedHitCounter_, width_, Pixinfo::x, Hit::x, PV3DBase< T, PVType, FrameType >::x(), Clust::x, Rechit::x, Pixinfo::y, Hit::y, PV3DBase< T, PVType, FrameType >::y(), Clust::y, Rechit::y, and PV3DBase< T, PVType, FrameType >::z().

◆ beginJob()

void SiPixelLorentzAngle::beginJob ( void  )
overridevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 72 of file SiPixelLorentzAngle.cc.

72  {
73  // cout << "started SiPixelLorentzAngle" << endl;
74  hFile_ = new TFile(filename_.c_str(), "RECREATE");
75  int bufsize = 64000;
76  // create tree structure
77  SiPixelLorentzAngleTree_ = new TTree("SiPixelLorentzAngleTree_", "SiPixel LorentzAngle tree", bufsize);
78  SiPixelLorentzAngleTree_->Branch("run", &run_, "run/I", bufsize);
79  SiPixelLorentzAngleTree_->Branch("event", &event_, "event/I", bufsize);
80  SiPixelLorentzAngleTree_->Branch("module", &module_, "module/I", bufsize);
81  SiPixelLorentzAngleTree_->Branch("ladder", &ladder_, "ladder/I", bufsize);
82  SiPixelLorentzAngleTree_->Branch("layer", &layer_, "layer/I", bufsize);
83  SiPixelLorentzAngleTree_->Branch("isflipped", &isflipped_, "isflipped/I", bufsize);
84  SiPixelLorentzAngleTree_->Branch("pt", &pt_, "pt/F", bufsize);
85  SiPixelLorentzAngleTree_->Branch("eta", &eta_, "eta/F", bufsize);
86  SiPixelLorentzAngleTree_->Branch("phi", &phi_, "phi/F", bufsize);
87  SiPixelLorentzAngleTree_->Branch("chi2", &chi2_, "chi2/D", bufsize);
88  SiPixelLorentzAngleTree_->Branch("ndof", &ndof_, "ndof/D", bufsize);
89  SiPixelLorentzAngleTree_->Branch("trackhit", &trackhit_, "x/F:y/F:alpha/D:beta/D:gamma_/D", bufsize);
90  SiPixelLorentzAngleTree_->Branch("simhit", &simhit_, "x/F:y/F:alpha/D:beta/D:gamma_/D", bufsize);
91  SiPixelLorentzAngleTree_->Branch("npix", &pixinfo_.npix, "npix/I", bufsize);
92  SiPixelLorentzAngleTree_->Branch("rowpix", pixinfo_.row, "row[npix]/F", bufsize);
93  SiPixelLorentzAngleTree_->Branch("colpix", pixinfo_.col, "col[npix]/F", bufsize);
94  SiPixelLorentzAngleTree_->Branch("adc", pixinfo_.adc, "adc[npix]/F", bufsize);
95  SiPixelLorentzAngleTree_->Branch("xpix", pixinfo_.x, "x[npix]/F", bufsize);
96  SiPixelLorentzAngleTree_->Branch("ypix", pixinfo_.y, "y[npix]/F", bufsize);
98  "clust",
99  &clust_,
100  "x/F:y/F:charge/F:size_x/I:size_y/I:maxPixelCol/I:maxPixelRow:minPixelCol/I:minPixelRow/I",
101  bufsize);
102  SiPixelLorentzAngleTree_->Branch("rechit", &rechit_, "x/F:y/F", bufsize);
103 
105  new TTree("SiPixelLorentzAngleTreeForward_", "SiPixel LorentzAngle tree forward", bufsize);
106  SiPixelLorentzAngleTreeForward_->Branch("run", &run_, "run/I", bufsize);
107  SiPixelLorentzAngleTreeForward_->Branch("event", &event_, "event/I", bufsize);
108  SiPixelLorentzAngleTreeForward_->Branch("side", &sideF_, "side/I", bufsize);
109  SiPixelLorentzAngleTreeForward_->Branch("disk", &diskF_, "disk/I", bufsize);
110  SiPixelLorentzAngleTreeForward_->Branch("blade", &bladeF_, "blade/I", bufsize);
111  SiPixelLorentzAngleTreeForward_->Branch("panel", &panelF_, "panel/I", bufsize);
112  SiPixelLorentzAngleTreeForward_->Branch("module", &moduleF_, "module/I", bufsize);
113  SiPixelLorentzAngleTreeForward_->Branch("pt", &pt_, "pt/F", bufsize);
114  SiPixelLorentzAngleTreeForward_->Branch("eta", &eta_, "eta/F", bufsize);
115  SiPixelLorentzAngleTreeForward_->Branch("phi", &phi_, "phi/F", bufsize);
116  SiPixelLorentzAngleTreeForward_->Branch("chi2", &chi2_, "chi2/D", bufsize);
117  SiPixelLorentzAngleTreeForward_->Branch("ndof", &ndof_, "ndof/D", bufsize);
118  SiPixelLorentzAngleTreeForward_->Branch("trackhit", &trackhitF_, "x/F:y/F:alpha/D:beta/D:gamma_/D", bufsize);
119  SiPixelLorentzAngleTreeForward_->Branch("simhit", &simhitF_, "x/F:y/F:alpha/D:beta/D:gamma_/D", bufsize);
120  SiPixelLorentzAngleTreeForward_->Branch("npix", &pixinfoF_.npix, "npix/I", bufsize);
121  SiPixelLorentzAngleTreeForward_->Branch("rowpix", pixinfoF_.row, "row[npix]/F", bufsize);
122  SiPixelLorentzAngleTreeForward_->Branch("colpix", pixinfoF_.col, "col[npix]/F", bufsize);
123  SiPixelLorentzAngleTreeForward_->Branch("adc", pixinfoF_.adc, "adc[npix]/F", bufsize);
124  SiPixelLorentzAngleTreeForward_->Branch("xpix", pixinfoF_.x, "x[npix]/F", bufsize);
125  SiPixelLorentzAngleTreeForward_->Branch("ypix", pixinfoF_.y, "y[npix]/F", bufsize);
127  "clust",
128  &clustF_,
129  "x/F:y/F:charge/F:size_x/I:size_y/I:maxPixelCol/I:maxPixelRow:minPixelCol/I:minPixelRow/I",
130  bufsize);
131  SiPixelLorentzAngleTreeForward_->Branch("rechit", &rechitF_, "x/F:y/F", bufsize);
132 
133  //book histograms
134  char name[128];
135  for (int i_module = 1; i_module <= 8; i_module++) {
136  for (int i_layer = 1; i_layer <= 3; i_layer++) {
137  sprintf(name, "h_drift_depth_adc_layer%i_module%i", i_layer, i_module);
138  _h_drift_depth_adc_[i_module + (i_layer - 1) * 8] =
140  sprintf(name, "h_drift_depth_adc2_layer%i_module%i", i_layer, i_module);
141  _h_drift_depth_adc2_[i_module + (i_layer - 1) * 8] =
143  sprintf(name, "h_drift_depth_noadc_layer%i_module%i", i_layer, i_module);
144  _h_drift_depth_noadc_[i_module + (i_layer - 1) * 8] =
146  sprintf(name, "h_drift_depth_layer%i_module%i", i_layer, i_module);
147  _h_drift_depth_[i_module + (i_layer - 1) * 8] =
149  sprintf(name, "h_mean_layer%i_module%i", i_layer, i_module);
150  _h_mean_[i_module + (i_layer - 1) * 8] = new TH1F(name, name, hist_depth_, min_depth_, max_depth_);
151  }
152  }
153 
154  // just for some expaining plots
155  h_cluster_shape_adc_ = new TH2F(
156  "h_cluster_shape_adc", "cluster shape with adc weight", hist_x_, min_x_, max_x_, hist_y_, min_y_, max_y_);
157  h_cluster_shape_noadc_ = new TH2F(
158  "h_cluster_shape_noadc", "cluster shape without adc weight", hist_x_, min_x_, max_x_, hist_y_, min_y_, max_y_);
159  h_cluster_shape_ = new TH2F("h_cluster_shape", "cluster shape", hist_x_, min_x_, max_x_, hist_y_, min_y_, max_y_);
160  h_cluster_shape_adc_rot_ = new TH2F(
161  "h_cluster_shape_adc_rot", "cluster shape with adc weight", hist_x_, min_x_, max_x_, hist_y_, -max_y_, -min_y_);
162  h_cluster_shape_noadc_rot_ = new TH2F("h_cluster_shape_noadc_rot",
163  "cluster shape without adc weight",
164  hist_x_,
165  min_x_,
166  max_x_,
167  hist_y_,
168  -max_y_,
169  -min_y_);
171  new TH2F("h_cluster_shape_rot", "cluster shape", hist_x_, min_x_, max_x_, hist_y_, -max_y_, -min_y_);
172  h_tracks_ = new TH1F("h_tracks", "h_tracks", 2, 0., 2.);
173  event_counter_ = 0;
175  // trackcounter_ = 0;
176  hitCounter_ = 0;
177  usedHitCounter_ = 0;
179 }

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_, Skims_PA_cff::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.

◆ endJob()

void SiPixelLorentzAngle::endJob ( void  )
overridevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 472 of file SiPixelLorentzAngle.cc.

472  {
473  // produce histograms with the average adc counts
474  for (int i_ring = 1; i_ring <= 24; i_ring++) {
475  _h_drift_depth_[i_ring]->Divide(_h_drift_depth_adc_[i_ring], _h_drift_depth_noadc_[i_ring]);
476  }
477 
479  new TH1F("h_drift_depth_adc_slice", "slice of adc histogram", hist_drift_, min_drift_, max_drift_);
480 
481  TF1* f1 = new TF1("f1", "[0] + [1]*x", 50., 235.);
482  f1->SetParName(0, "p0");
483  f1->SetParName(1, "p1");
484  f1->SetParameter(0, 0);
485  f1->SetParameter(1, 0.4);
486  ofstream fLorentzFit(filenameFit_.c_str(), ios::trunc);
487  cout.precision(4);
488  fLorentzFit << "module"
489  << "\t"
490  << "layer"
491  << "\t"
492  << "offset"
493  << "\t"
494  << "error"
495  << "\t"
496  << "slope"
497  << "\t"
498  << "error"
499  << "\t"
500  "rel.err"
501  << "\t"
502  "pull"
503  << "\t"
504  << "chi2"
505  << "\t"
506  << "prob" << endl;
507  //loop over modlues and layers to fit the lorentz angle
508  for (int i_layer = 1; i_layer <= 3; i_layer++) {
509  for (int i_module = 1; i_module <= 8; i_module++) {
510  //loop over bins in depth (z-local-coordinate) (in order to fit slices)
511  for (int i = 1; i <= hist_depth_; i++) {
512  findMean(i, (i_module + (i_layer - 1) * 8));
513  } // end loop over bins in depth
514  _h_mean_[i_module + (i_layer - 1) * 8]->Fit(f1, "ERQ");
515  double p0 = f1->GetParameter(0);
516  double e0 = f1->GetParError(0);
517  double p1 = f1->GetParameter(1);
518  double e1 = f1->GetParError(1);
519  double chi2 = f1->GetChisquare();
520  double prob = f1->GetProb();
521  fLorentzFit << setprecision(4) << i_module << "\t" << i_layer << "\t" << p0 << "\t" << e0 << "\t" << p1
522  << setprecision(3) << "\t" << e1 << "\t" << e1 / p1 * 100. << "\t" << (p1 - 0.424) / e1 << "\t"
523  << chi2 << "\t" << prob << endl;
524  }
525  } // end loop over modules and layers
526  fLorentzFit.close();
527  hFile_->cd();
528  for (int i_module = 1; i_module <= 8; i_module++) {
529  for (int i_layer = 1; i_layer <= 3; i_layer++) {
530  _h_drift_depth_adc_[i_module + (i_layer - 1) * 8]->Write();
531  _h_drift_depth_adc2_[i_module + (i_layer - 1) * 8]->Write();
532  _h_drift_depth_noadc_[i_module + (i_layer - 1) * 8]->Write();
533  _h_drift_depth_[i_module + (i_layer - 1) * 8]->Write();
534  _h_mean_[i_module + (i_layer - 1) * 8]->Write();
535  }
536  }
537  h_cluster_shape_adc_->Write();
538  h_cluster_shape_noadc_->Write();
539  h_cluster_shape_adc_rot_->Write();
541  h_tracks_->Write();
542 
543  hFile_->Write();
544  hFile_->Close();
545  cout << "events: " << event_counter_ << endl;
546  cout << "events with tracks: " << trackEventsCounter_ << endl;
547  cout << "events with pixeltracks: " << pixelTracksCounter_ << endl;
548  cout << "hits in the pixel: " << hitCounter_ << endl;
549  cout << "number of used Hits: " << usedHitCounter_ << endl;
550 }

References _h_drift_depth_, _h_drift_depth_adc2_, _h_drift_depth_adc_, _h_drift_depth_noadc_, _h_mean_, hltPixelTracks_cff::chi2, gather_cfg::cout, StorageManager_cfg::e1, event_counter_, DeadROC_duringRun::f1, filenameFit_, findMean(), 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_, mps_fire::i, max_drift_, min_drift_, p1, pixelTracksCounter_, TtFullHadEvtBuilder_cfi::prob, trackEventsCounter_, pileupReCalc_HLTpaths::trunc, and usedHitCounter_.

Referenced by o2olib.O2ORunMgr::executeJob().

◆ fillPix()

void SiPixelLorentzAngle::fillPix ( const SiPixelCluster LocPix,
const PixelTopology topol,
Pixinfo pixinfo 
)
inlineprivate

Definition at line 552 of file SiPixelLorentzAngle.cc.

554 {
555  const std::vector<SiPixelCluster::Pixel>& pixvector = LocPix.pixels();
556  pixinfo.npix = 0;
557  for (std::vector<SiPixelCluster::Pixel>::const_iterator itPix = pixvector.begin(); itPix != pixvector.end();
558  itPix++) {
559  // for(pixinfo.npix = 0; pixinfo.npix < static_cast<int>(pixvector.size()); ++pixinfo.npix) {
560  pixinfo.row[pixinfo.npix] = itPix->x;
561  pixinfo.col[pixinfo.npix] = itPix->y;
562  pixinfo.adc[pixinfo.npix] = itPix->adc;
563  LocalPoint lp = topol->localPosition(MeasurementPoint(itPix->x + 0.5, itPix->y + 0.5));
564  pixinfo.x[pixinfo.npix] = lp.x();
565  pixinfo.y[pixinfo.npix] = lp.y();
566  pixinfo.npix++;
567  }
568 }

References Pixinfo::adc, Pixinfo::col, Topology::localPosition(), Pixinfo::npix, SiPixelCluster::pixels(), Pixinfo::row, Pixinfo::x, PV3DBase< T, PVType, FrameType >::x(), Pixinfo::y, and PV3DBase< T, PVType, FrameType >::y().

Referenced by analyze().

◆ findMean()

void SiPixelLorentzAngle::findMean ( int  i,
int  i_ring 
)
private

Definition at line 570 of file SiPixelLorentzAngle.cc.

570  {
571  double nentries = 0;
572 
573  h_drift_depth_adc_slice_->Reset("ICE");
574 
575  // determine sigma and sigma^2 of the adc counts and average adc counts
576  //loop over bins in drift width
577  for (int j = 1; j <= hist_drift_; j++) {
578  if (_h_drift_depth_noadc_[i_ring]->GetBinContent(j, i) >= 1) {
579  double adc_error2 =
580  (_h_drift_depth_adc2_[i_ring]->GetBinContent(j, i) - _h_drift_depth_adc_[i_ring]->GetBinContent(j, i) *
581  _h_drift_depth_adc_[i_ring]->GetBinContent(j, i) /
582  _h_drift_depth_noadc_[i_ring]->GetBinContent(j, i)) /
583  _h_drift_depth_noadc_[i_ring]->GetBinContent(j, i);
584  _h_drift_depth_adc_[i_ring]->SetBinError(j, i, sqrt(adc_error2));
585  double error2 = adc_error2 / (_h_drift_depth_noadc_[i_ring]->GetBinContent(j, i) - 1.);
586  _h_drift_depth_[i_ring]->SetBinError(j, i, sqrt(error2));
587  } else {
588  _h_drift_depth_[i_ring]->SetBinError(j, i, 0);
589  _h_drift_depth_adc_[i_ring]->SetBinError(j, i, 0);
590  }
591  h_drift_depth_adc_slice_->SetBinContent(j, _h_drift_depth_adc_[i_ring]->GetBinContent(j, i));
592  h_drift_depth_adc_slice_->SetBinError(j, _h_drift_depth_adc_[i_ring]->GetBinError(j, i));
593  nentries += _h_drift_depth_noadc_[i_ring]->GetBinContent(j, i);
594  } // end loop over bins in drift width
595 
596  double mean = h_drift_depth_adc_slice_->GetMean(1);
597  double error = 0;
598  if (nentries != 0) {
599  error = h_drift_depth_adc_slice_->GetRMS(1) / sqrt(nentries);
600  }
601 
602  _h_mean_[i_ring]->SetBinContent(i, mean);
603  _h_mean_[i_ring]->SetBinError(i, error);
604 }

References _h_drift_depth_, _h_drift_depth_adc2_, _h_drift_depth_adc_, _h_drift_depth_noadc_, _h_mean_, relativeConstraints::error, h_drift_depth_adc_slice_, hist_drift_, mps_fire::i, dqmiolumiharvest::j, SiStripPI::mean, and mathSSE::sqrt().

Referenced by endJob().

Member Data Documentation

◆ _h_drift_depth_

std::map<int, TH2F *> analyzer::SiPixelLorentzAngle::_h_drift_depth_
private

Definition at line 168 of file SiPixelLorentzAngle.h.

Referenced by beginJob(), endJob(), and findMean().

◆ _h_drift_depth_adc2_

std::map<int, TH2F *> analyzer::SiPixelLorentzAngle::_h_drift_depth_adc2_
private

Definition at line 166 of file SiPixelLorentzAngle.h.

Referenced by analyze(), beginJob(), endJob(), and findMean().

◆ _h_drift_depth_adc_

std::map<int, TH2F *> analyzer::SiPixelLorentzAngle::_h_drift_depth_adc_
private

Definition at line 165 of file SiPixelLorentzAngle.h.

Referenced by analyze(), beginJob(), endJob(), and findMean().

◆ _h_drift_depth_noadc_

std::map<int, TH2F *> analyzer::SiPixelLorentzAngle::_h_drift_depth_noadc_
private

Definition at line 167 of file SiPixelLorentzAngle.h.

Referenced by analyze(), beginJob(), endJob(), and findMean().

◆ _h_mean_

std::map<int, TH1F *> analyzer::SiPixelLorentzAngle::_h_mean_
private

Definition at line 170 of file SiPixelLorentzAngle.h.

Referenced by beginJob(), endJob(), and findMean().

◆ bladeF_

int analyzer::SiPixelLorentzAngle::bladeF_
private

Definition at line 124 of file SiPixelLorentzAngle.h.

Referenced by analyze(), and beginJob().

◆ chi2_

double analyzer::SiPixelLorentzAngle::chi2_
private

Definition at line 112 of file SiPixelLorentzAngle.h.

Referenced by analyze(), and beginJob().

◆ chi2F_

double analyzer::SiPixelLorentzAngle::chi2F_
private

Definition at line 130 of file SiPixelLorentzAngle.h.

◆ clust_

Clust analyzer::SiPixelLorentzAngle::clust_
private

Definition at line 116 of file SiPixelLorentzAngle.h.

Referenced by analyze(), and beginJob().

◆ clustChargeMax_

double analyzer::SiPixelLorentzAngle::clustChargeMax_
private

Definition at line 145 of file SiPixelLorentzAngle.h.

Referenced by analyze().

◆ clustF_

Clust analyzer::SiPixelLorentzAngle::clustF_
private

Definition at line 134 of file SiPixelLorentzAngle.h.

Referenced by analyze(), and beginJob().

◆ clustSizeYMin_

int analyzer::SiPixelLorentzAngle::clustSizeYMin_
private

Definition at line 143 of file SiPixelLorentzAngle.h.

Referenced by analyze().

◆ diskF_

int analyzer::SiPixelLorentzAngle::diskF_
private

Definition at line 123 of file SiPixelLorentzAngle.h.

Referenced by analyze(), and beginJob().

◆ eta_

float analyzer::SiPixelLorentzAngle::eta_
private

Definition at line 110 of file SiPixelLorentzAngle.h.

Referenced by analyze(), and beginJob().

◆ etaF_

float analyzer::SiPixelLorentzAngle::etaF_
private

Definition at line 128 of file SiPixelLorentzAngle.h.

◆ event_

int analyzer::SiPixelLorentzAngle::event_
private

Definition at line 104 of file SiPixelLorentzAngle.h.

Referenced by analyze(), and beginJob().

◆ event_counter_

int analyzer::SiPixelLorentzAngle::event_counter_
private

Definition at line 179 of file SiPixelLorentzAngle.h.

Referenced by analyze(), beginJob(), and endJob().

◆ eventF_

int analyzer::SiPixelLorentzAngle::eventF_
private

Definition at line 121 of file SiPixelLorentzAngle.h.

◆ filename_

std::string analyzer::SiPixelLorentzAngle::filename_
private

Definition at line 138 of file SiPixelLorentzAngle.h.

Referenced by beginJob().

◆ filenameFit_

std::string analyzer::SiPixelLorentzAngle::filenameFit_
private

Definition at line 139 of file SiPixelLorentzAngle.h.

Referenced by endJob().

◆ h_cluster_shape_

TH2F* analyzer::SiPixelLorentzAngle::h_cluster_shape_
private

Definition at line 173 of file SiPixelLorentzAngle.h.

Referenced by beginJob().

◆ h_cluster_shape_adc_

TH2F* analyzer::SiPixelLorentzAngle::h_cluster_shape_adc_
private

Definition at line 171 of file SiPixelLorentzAngle.h.

Referenced by analyze(), beginJob(), and endJob().

◆ h_cluster_shape_adc_rot_

TH2F* analyzer::SiPixelLorentzAngle::h_cluster_shape_adc_rot_
private

Definition at line 174 of file SiPixelLorentzAngle.h.

Referenced by analyze(), beginJob(), and endJob().

◆ h_cluster_shape_noadc_

TH2F* analyzer::SiPixelLorentzAngle::h_cluster_shape_noadc_
private

Definition at line 172 of file SiPixelLorentzAngle.h.

Referenced by analyze(), beginJob(), and endJob().

◆ h_cluster_shape_noadc_rot_

TH2F* analyzer::SiPixelLorentzAngle::h_cluster_shape_noadc_rot_
private

Definition at line 175 of file SiPixelLorentzAngle.h.

Referenced by analyze(), beginJob(), and endJob().

◆ h_cluster_shape_rot_

TH2F* analyzer::SiPixelLorentzAngle::h_cluster_shape_rot_
private

Definition at line 176 of file SiPixelLorentzAngle.h.

Referenced by beginJob().

◆ h_drift_depth_adc_slice_

TH1F* analyzer::SiPixelLorentzAngle::h_drift_depth_adc_slice_
private

Definition at line 169 of file SiPixelLorentzAngle.h.

Referenced by endJob(), and findMean().

◆ h_tracks_

TH1F* analyzer::SiPixelLorentzAngle::h_tracks_
private

Definition at line 177 of file SiPixelLorentzAngle.h.

Referenced by analyze(), beginJob(), and endJob().

◆ hFile_

TFile* analyzer::SiPixelLorentzAngle::hFile_
private

Definition at line 98 of file SiPixelLorentzAngle.h.

Referenced by beginJob(), and endJob().

◆ hist_depth_

int analyzer::SiPixelLorentzAngle::hist_depth_
private

Definition at line 146 of file SiPixelLorentzAngle.h.

Referenced by beginJob(), and endJob().

◆ hist_drift_

int analyzer::SiPixelLorentzAngle::hist_drift_
private

Definition at line 147 of file SiPixelLorentzAngle.h.

Referenced by beginJob(), endJob(), and findMean().

◆ hist_x_

int analyzer::SiPixelLorentzAngle::hist_x_
private

Definition at line 153 of file SiPixelLorentzAngle.h.

Referenced by beginJob(), and SiPixelLorentzAngle().

◆ hist_y_

int analyzer::SiPixelLorentzAngle::hist_y_
private

Definition at line 154 of file SiPixelLorentzAngle.h.

Referenced by beginJob(), and SiPixelLorentzAngle().

◆ hitCounter_

int analyzer::SiPixelLorentzAngle::hitCounter_
private

Definition at line 179 of file SiPixelLorentzAngle.h.

Referenced by analyze(), beginJob(), and endJob().

◆ isflipped_

int analyzer::SiPixelLorentzAngle::isflipped_
private

Definition at line 108 of file SiPixelLorentzAngle.h.

Referenced by analyze(), and beginJob().

◆ ladder_

int analyzer::SiPixelLorentzAngle::ladder_
private

Definition at line 106 of file SiPixelLorentzAngle.h.

Referenced by analyze(), and beginJob().

◆ layer_

int analyzer::SiPixelLorentzAngle::layer_
private

Definition at line 107 of file SiPixelLorentzAngle.h.

Referenced by analyze(), and beginJob().

◆ max_depth_

double analyzer::SiPixelLorentzAngle::max_depth_
private

Definition at line 161 of file SiPixelLorentzAngle.h.

Referenced by beginJob(), and SiPixelLorentzAngle().

◆ max_drift_

double analyzer::SiPixelLorentzAngle::max_drift_
private

Definition at line 163 of file SiPixelLorentzAngle.h.

Referenced by beginJob(), endJob(), and SiPixelLorentzAngle().

◆ max_x_

double analyzer::SiPixelLorentzAngle::max_x_
private

Definition at line 156 of file SiPixelLorentzAngle.h.

Referenced by beginJob(), and SiPixelLorentzAngle().

◆ max_y_

double analyzer::SiPixelLorentzAngle::max_y_
private

Definition at line 158 of file SiPixelLorentzAngle.h.

Referenced by beginJob(), and SiPixelLorentzAngle().

◆ min_depth_

double analyzer::SiPixelLorentzAngle::min_depth_
private

Definition at line 160 of file SiPixelLorentzAngle.h.

Referenced by beginJob(), and SiPixelLorentzAngle().

◆ min_drift_

double analyzer::SiPixelLorentzAngle::min_drift_
private

Definition at line 162 of file SiPixelLorentzAngle.h.

Referenced by beginJob(), endJob(), and SiPixelLorentzAngle().

◆ min_x_

double analyzer::SiPixelLorentzAngle::min_x_
private

Definition at line 155 of file SiPixelLorentzAngle.h.

Referenced by beginJob(), and SiPixelLorentzAngle().

◆ min_y_

double analyzer::SiPixelLorentzAngle::min_y_
private

Definition at line 157 of file SiPixelLorentzAngle.h.

Referenced by beginJob(), and SiPixelLorentzAngle().

◆ module_

int analyzer::SiPixelLorentzAngle::module_
private

Definition at line 105 of file SiPixelLorentzAngle.h.

Referenced by analyze(), and beginJob().

◆ moduleF_

int analyzer::SiPixelLorentzAngle::moduleF_
private

Definition at line 126 of file SiPixelLorentzAngle.h.

Referenced by analyze(), and beginJob().

◆ ndof_

double analyzer::SiPixelLorentzAngle::ndof_
private

Definition at line 113 of file SiPixelLorentzAngle.h.

Referenced by analyze(), and beginJob().

◆ ndofF_

double analyzer::SiPixelLorentzAngle::ndofF_
private

Definition at line 131 of file SiPixelLorentzAngle.h.

◆ normChi2Max_

double analyzer::SiPixelLorentzAngle::normChi2Max_
private

Definition at line 142 of file SiPixelLorentzAngle.h.

Referenced by analyze().

◆ panelF_

int analyzer::SiPixelLorentzAngle::panelF_
private

Definition at line 125 of file SiPixelLorentzAngle.h.

Referenced by analyze(), and beginJob().

◆ phi_

float analyzer::SiPixelLorentzAngle::phi_
private

Definition at line 111 of file SiPixelLorentzAngle.h.

Referenced by analyze(), and beginJob().

◆ phiF_

float analyzer::SiPixelLorentzAngle::phiF_
private

Definition at line 129 of file SiPixelLorentzAngle.h.

◆ pixelTracksCounter_

int analyzer::SiPixelLorentzAngle::pixelTracksCounter_
private

Definition at line 179 of file SiPixelLorentzAngle.h.

Referenced by analyze(), beginJob(), and endJob().

◆ pixinfo_

Pixinfo analyzer::SiPixelLorentzAngle::pixinfo_
private

Definition at line 114 of file SiPixelLorentzAngle.h.

Referenced by analyze(), and beginJob().

◆ pixinfoF_

Pixinfo analyzer::SiPixelLorentzAngle::pixinfoF_
private

Definition at line 132 of file SiPixelLorentzAngle.h.

Referenced by analyze(), and beginJob().

◆ pt_

float analyzer::SiPixelLorentzAngle::pt_
private

Definition at line 109 of file SiPixelLorentzAngle.h.

Referenced by analyze(), and beginJob().

◆ ptF_

float analyzer::SiPixelLorentzAngle::ptF_
private

Definition at line 127 of file SiPixelLorentzAngle.h.

◆ ptmin_

double analyzer::SiPixelLorentzAngle::ptmin_
private

Definition at line 140 of file SiPixelLorentzAngle.h.

Referenced by analyze().

◆ rechit_

Rechit analyzer::SiPixelLorentzAngle::rechit_
private

Definition at line 117 of file SiPixelLorentzAngle.h.

Referenced by analyze(), and beginJob().

◆ rechitF_

Rechit analyzer::SiPixelLorentzAngle::rechitF_
private

Definition at line 135 of file SiPixelLorentzAngle.h.

Referenced by analyze(), and beginJob().

◆ residualMax_

double analyzer::SiPixelLorentzAngle::residualMax_
private

Definition at line 144 of file SiPixelLorentzAngle.h.

Referenced by analyze().

◆ RHBuilder

const TransientTrackingRecHitBuilder* analyzer::SiPixelLorentzAngle::RHBuilder
private

Definition at line 186 of file SiPixelLorentzAngle.h.

◆ run_

int analyzer::SiPixelLorentzAngle::run_
private

Definition at line 103 of file SiPixelLorentzAngle.h.

Referenced by analyze(), and beginJob().

◆ runF_

int analyzer::SiPixelLorentzAngle::runF_
private

Definition at line 120 of file SiPixelLorentzAngle.h.

◆ sideF_

int analyzer::SiPixelLorentzAngle::sideF_
private

Definition at line 122 of file SiPixelLorentzAngle.h.

Referenced by analyze(), and beginJob().

◆ simData_

bool analyzer::SiPixelLorentzAngle::simData_
private

Definition at line 141 of file SiPixelLorentzAngle.h.

Referenced by analyze().

◆ simhit_

Hit analyzer::SiPixelLorentzAngle::simhit_
private

Definition at line 115 of file SiPixelLorentzAngle.h.

Referenced by analyze(), and beginJob().

◆ simhitF_

Hit analyzer::SiPixelLorentzAngle::simhitF_
private

Definition at line 133 of file SiPixelLorentzAngle.h.

Referenced by analyze(), and beginJob().

◆ SiPixelLorentzAngleTree_

TTree* analyzer::SiPixelLorentzAngle::SiPixelLorentzAngleTree_
private

Definition at line 99 of file SiPixelLorentzAngle.h.

Referenced by analyze(), and beginJob().

◆ SiPixelLorentzAngleTreeForward_

TTree* analyzer::SiPixelLorentzAngle::SiPixelLorentzAngleTreeForward_
private

Definition at line 100 of file SiPixelLorentzAngle.h.

Referenced by analyze(), and beginJob().

◆ t_trajTrack

edm::EDGetTokenT<TrajTrackAssociationCollection> analyzer::SiPixelLorentzAngle::t_trajTrack
private

Definition at line 190 of file SiPixelLorentzAngle.h.

Referenced by analyze(), and SiPixelLorentzAngle().

◆ theEstimator

Chi2MeasurementEstimator* analyzer::SiPixelLorentzAngle::theEstimator
private

Definition at line 185 of file SiPixelLorentzAngle.h.

◆ theFitter

const KFTrajectoryFitter* analyzer::SiPixelLorentzAngle::theFitter
private

Definition at line 188 of file SiPixelLorentzAngle.h.

◆ thePropagator

PropagatorWithMaterial* analyzer::SiPixelLorentzAngle::thePropagator
private

Definition at line 182 of file SiPixelLorentzAngle.h.

◆ thePropagatorOp

PropagatorWithMaterial* analyzer::SiPixelLorentzAngle::thePropagatorOp
private

Definition at line 183 of file SiPixelLorentzAngle.h.

◆ theSmoother

const KFTrajectorySmoother* analyzer::SiPixelLorentzAngle::theSmoother
private

Definition at line 187 of file SiPixelLorentzAngle.h.

◆ theUpdator

KFUpdator* analyzer::SiPixelLorentzAngle::theUpdator
private

Definition at line 184 of file SiPixelLorentzAngle.h.

◆ trackerGeomToken_

edm::ESGetToken<TrackerGeometry, TrackerDigiGeometryRecord> analyzer::SiPixelLorentzAngle::trackerGeomToken_
private

Definition at line 192 of file SiPixelLorentzAngle.h.

Referenced by analyze(), and SiPixelLorentzAngle().

◆ trackerHitAssociatorConfig_

TrackerHitAssociator::Config analyzer::SiPixelLorentzAngle::trackerHitAssociatorConfig_
private

Definition at line 150 of file SiPixelLorentzAngle.h.

Referenced by analyze().

◆ trackerTopoToken_

edm::ESGetToken<TrackerTopology, TrackerTopologyRcd> analyzer::SiPixelLorentzAngle::trackerTopoToken_
private

Definition at line 191 of file SiPixelLorentzAngle.h.

Referenced by analyze(), and SiPixelLorentzAngle().

◆ trackEventsCounter_

int analyzer::SiPixelLorentzAngle::trackEventsCounter_
private

Definition at line 179 of file SiPixelLorentzAngle.h.

Referenced by analyze(), beginJob(), and endJob().

◆ trackhit_

Hit analyzer::SiPixelLorentzAngle::trackhit_
private

Definition at line 115 of file SiPixelLorentzAngle.h.

Referenced by analyze(), and beginJob().

◆ trackhitF_

Hit analyzer::SiPixelLorentzAngle::trackhitF_
private

Definition at line 133 of file SiPixelLorentzAngle.h.

Referenced by analyze(), and beginJob().

◆ tsTransform

TrajectoryStateTransform analyzer::SiPixelLorentzAngle::tsTransform
private

Definition at line 189 of file SiPixelLorentzAngle.h.

◆ usedHitCounter_

int analyzer::SiPixelLorentzAngle::usedHitCounter_
private

Definition at line 179 of file SiPixelLorentzAngle.h.

Referenced by analyze(), beginJob(), and endJob().

◆ width_

double analyzer::SiPixelLorentzAngle::width_
private

Definition at line 159 of file SiPixelLorentzAngle.h.

Referenced by analyze(), and SiPixelLorentzAngle().

Vector3DBase< float, LocalTag >
analyzer::SiPixelLorentzAngle::event_counter_
int event_counter_
Definition: SiPixelLorentzAngle.h:179
Hit::x
float x
Definition: SiPixelLorentzAngle.h:58
muonTagProbeFilters_cff.matched
matched
Definition: muonTagProbeFilters_cff.py:62
analyzer::SiPixelLorentzAngle::_h_mean_
std::map< int, TH1F * > _h_mean_
Definition: SiPixelLorentzAngle.h:170
Hit::beta
double beta
Definition: SiPixelLorentzAngle.h:61
edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
DDAxes::y
analyzer::SiPixelLorentzAngle::panelF_
int panelF_
Definition: SiPixelLorentzAngle.h:125
mps_fire.i
i
Definition: mps_fire.py:428
HLT_FULL_cff.track
track
Definition: HLT_FULL_cff.py:11724
SiStripPI::mean
Definition: SiStripPayloadInspectorHelper.h:169
PixelSubdetector::PixelEndcap
Definition: PixelSubdetector.h:11
PixelSubdetector::PixelBarrel
Definition: PixelSubdetector.h:11
analyzer::SiPixelLorentzAngle::min_x_
double min_x_
Definition: SiPixelLorentzAngle.h:155
TrackerTopology::pxfSide
unsigned int pxfSide(const DetId &id) const
Definition: TrackerTopology.h:192
analyzer::SiPixelLorentzAngle::min_drift_
double min_drift_
Definition: SiPixelLorentzAngle.h:162
Trajectory::chiSquared
float chiSquared() const
Definition: Trajectory.h:241
PV3DBase::x
T x() const
Definition: PV3DBase.h:59
Pixinfo::adc
float adc[maxpix]
Definition: SiPixelLorentzAngle.h:53
analyzer::SiPixelLorentzAngle::filenameFit_
std::string filenameFit_
Definition: SiPixelLorentzAngle.h:139
analyzer::SiPixelLorentzAngle::chi2_
double chi2_
Definition: SiPixelLorentzAngle.h:112
analyzer::SiPixelLorentzAngle::width_
double width_
Definition: SiPixelLorentzAngle.h:159
TrackerTopology
Definition: TrackerTopology.h:16
TrackerTopology::pxbLadder
unsigned int pxbLadder(const DetId &id) const
Definition: TrackerTopology.h:155
analyzer::SiPixelLorentzAngle::hist_drift_
int hist_drift_
Definition: SiPixelLorentzAngle.h:147
gather_cfg.cout
cout
Definition: gather_cfg.py:144
analyzer::SiPixelLorentzAngle::h_cluster_shape_noadc_rot_
TH2F * h_cluster_shape_noadc_rot_
Definition: SiPixelLorentzAngle.h:175
analyzer::SiPixelLorentzAngle::min_depth_
double min_depth_
Definition: SiPixelLorentzAngle.h:160
Pixinfo::y
float y[maxpix]
Definition: SiPixelLorentzAngle.h:55
analyzer::SiPixelLorentzAngle::trackEventsCounter_
int trackEventsCounter_
Definition: SiPixelLorentzAngle.h:179
analyzer::SiPixelLorentzAngle::h_cluster_shape_rot_
TH2F * h_cluster_shape_rot_
Definition: SiPixelLorentzAngle.h:176
edm::EDConsumerBase::consumesCollector
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
Definition: EDConsumerBase.cc:47
analyzer::SiPixelLorentzAngle::hist_y_
int hist_y_
Definition: SiPixelLorentzAngle.h:154
Topology::localPosition
virtual LocalPoint localPosition(const MeasurementPoint &) const =0
analyzer::SiPixelLorentzAngle::pt_
float pt_
Definition: SiPixelLorentzAngle.h:109
analyzer::SiPixelLorentzAngle::clustChargeMax_
double clustChargeMax_
Definition: SiPixelLorentzAngle.h:145
DDAxes::x
analyzer::SiPixelLorentzAngle::normChi2Max_
double normChi2Max_
Definition: SiPixelLorentzAngle.h:142
analyzer::SiPixelLorentzAngle::hist_x_
int hist_x_
Definition: SiPixelLorentzAngle.h:153
hltPixelTracks_cff.chi2
chi2
Definition: hltPixelTracks_cff.py:25
Clust::size_x
int size_x
Definition: SiPixelLorentzAngle.h:68
analyzer::SiPixelLorentzAngle::simhit_
Hit simhit_
Definition: SiPixelLorentzAngle.h:115
edm::Handle
Definition: AssociativeIterator.h:50
relativeConstraints.error
error
Definition: relativeConstraints.py:53
SiPixelRecHit::cluster
ClusterRef cluster() const
Definition: SiPixelRecHit.h:47
analyzer::SiPixelLorentzAngle::max_x_
double max_x_
Definition: SiPixelLorentzAngle.h:156
analyzer::SiPixelLorentzAngle::h_cluster_shape_
TH2F * h_cluster_shape_
Definition: SiPixelLorentzAngle.h:173
analyzer::SiPixelLorentzAngle::clustF_
Clust clustF_
Definition: SiPixelLorentzAngle.h:134
rpcPointValidation_cfi.recHit
recHit
Definition: rpcPointValidation_cfi.py:7
SiPixelRecHit
Our base class.
Definition: SiPixelRecHit.h:23
edm::Ref
Definition: AssociativeIterator.h:58
TrackerTopology::pxbLayer
unsigned int pxbLayer(const DetId &id) const
Definition: TrackerTopology.h:144
analyzer::SiPixelLorentzAngle::residualMax_
double residualMax_
Definition: SiPixelLorentzAngle.h:144
PV3DBase::z
T z() const
Definition: PV3DBase.h:61
TrackerTopology::pxfPanel
unsigned int pxfPanel(const DetId &id) const
Definition: TrackerTopology.h:450
analyzer::SiPixelLorentzAngle::moduleF_
int moduleF_
Definition: SiPixelLorentzAngle.h:126
analyzer::SiPixelLorentzAngle::ptmin_
double ptmin_
Definition: SiPixelLorentzAngle.h:140
Clust::minPixelCol
int minPixelCol
Definition: SiPixelLorentzAngle.h:72
DetId
Definition: DetId.h:17
edm::AssociationMap::end
const_iterator end() const
last iterator over the map (read only)
Definition: AssociationMap.h:171
analyzer::SiPixelLorentzAngle::rechit_
Rechit rechit_
Definition: SiPixelLorentzAngle.h:117
GeomDet::surface
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
shallow::drift
LocalVector drift(const StripGeomDetUnit *, const MagneticField &, const SiStripLorentzAngle &)
Definition: ShallowTools.cc:36
analyzer::SiPixelLorentzAngle::ndof_
double ndof_
Definition: SiPixelLorentzAngle.h:113
analyzer::SiPixelLorentzAngle::max_y_
double max_y_
Definition: SiPixelLorentzAngle.h:158
TrajectoryStateOnSurface::localDirection
LocalVector localDirection() const
Definition: TrajectoryStateOnSurface.h:76
analyzer::SiPixelLorentzAngle::fillPix
void fillPix(const SiPixelCluster &LocPix, const PixelTopology *topol, Pixinfo &pixinfo)
Definition: SiPixelLorentzAngle.cc:552
analyzer::SiPixelLorentzAngle::h_cluster_shape_adc_rot_
TH2F * h_cluster_shape_adc_rot_
Definition: SiPixelLorentzAngle.h:174
Fit
Definition: Fit.h:32
PixelGeomDetUnit
Definition: PixelGeomDetUnit.h:15
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
Surface::toGlobal
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
Definition: Surface.h:79
reco::Track
Definition: Track.h:27
edm::ESHandle< TrackerTopology >
analyzer::SiPixelLorentzAngle::layer_
int layer_
Definition: SiPixelLorentzAngle.h:107
analyzer::SiPixelLorentzAngle::bladeF_
int bladeF_
Definition: SiPixelLorentzAngle.h:124
analyzer::SiPixelLorentzAngle::clustSizeYMin_
int clustSizeYMin_
Definition: SiPixelLorentzAngle.h:143
Point3DBase< float, LocalTag >
analyzer::SiPixelLorentzAngle::_h_drift_depth_noadc_
std::map< int, TH2F * > _h_drift_depth_noadc_
Definition: SiPixelLorentzAngle.h:167
analyzer::SiPixelLorentzAngle::h_cluster_shape_adc_
TH2F * h_cluster_shape_adc_
Definition: SiPixelLorentzAngle.h:171
PixelTopology
Definition: PixelTopology.h:10
LEDCalibrationChannels.depth
depth
Definition: LEDCalibrationChannels.py:65
PbPb_ZMuSkimMuonDPG_cff.tracker
tracker
Definition: PbPb_ZMuSkimMuonDPG_cff.py:60
edm::AssociationMap< edm::OneToOne< std::vector< Trajectory >, reco::TrackCollection, unsigned short > >::const_iterator
friend struct const_iterator
Definition: AssociationMap.h:274
MeasurementPoint
Measurement2DPoint MeasurementPoint
Measurement points are two-dimensional by default.
Definition: MeasurementPoint.h:12
analyzer::SiPixelLorentzAngle::t_trajTrack
edm::EDGetTokenT< TrajTrackAssociationCollection > t_trajTrack
Definition: SiPixelLorentzAngle.h:190
TrajectoryStateOnSurface::localPosition
LocalPoint localPosition() const
Definition: TrajectoryStateOnSurface.h:74
analyzer::SiPixelLorentzAngle::trackerGeomToken_
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > trackerGeomToken_
Definition: SiPixelLorentzAngle.h:192
Trajectory::ndof
int ndof(bool bon=true) const
Definition: Trajectory.cc:97
DetId::Tracker
Definition: DetId.h:25
analyzer::SiPixelLorentzAngle::trackhitF_
Hit trackhitF_
Definition: SiPixelLorentzAngle.h:133
PixelGeomDetUnit::specificTopology
virtual const PixelTopology & specificTopology() const
Returns a reference to the pixel proxy topology.
Definition: PixelGeomDetUnit.cc:17
analyzer::SiPixelLorentzAngle::_h_drift_depth_adc2_
std::map< int, TH2F * > _h_drift_depth_adc2_
Definition: SiPixelLorentzAngle.h:166
StorageManager_cfg.e1
e1
Definition: StorageManager_cfg.py:16
analyzer::SiPixelLorentzAngle::h_tracks_
TH1F * h_tracks_
Definition: SiPixelLorentzAngle.h:177
analyzer::SiPixelLorentzAngle::SiPixelLorentzAngleTreeForward_
TTree * SiPixelLorentzAngleTreeForward_
Definition: SiPixelLorentzAngle.h:100
Clust::maxPixelCol
int maxPixelCol
Definition: SiPixelLorentzAngle.h:70
PV3DBase::y
T y() const
Definition: PV3DBase.h:60
funct::tan
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
TrackingRecHit::ConstRecHitPointer
std::shared_ptr< TrackingRecHit const > ConstRecHitPointer
Definition: TrackingRecHit.h:25
TrackerTopology::pxfModule
unsigned int pxfModule(const DetId &id) const
Definition: TrackerTopology.h:163
TrackerTopology::pxfDisk
unsigned int pxfDisk(const DetId &id) const
Definition: TrackerTopology.h:446
analyzer::SiPixelLorentzAngle::trackerTopoToken_
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > trackerTopoToken_
Definition: SiPixelLorentzAngle.h:191
Clust::x
float x
Definition: SiPixelLorentzAngle.h:65
p1
double p1[4]
Definition: TauolaWrapper.h:89
PVValHelper::dy
Definition: PVValidationHelpers.h:50
Hit::y
float y
Definition: SiPixelLorentzAngle.h:59
analyzer::SiPixelLorentzAngle::SiPixelLorentzAngleTree_
TTree * SiPixelLorentzAngleTree_
Definition: SiPixelLorentzAngle.h:99
Hit::alpha
double alpha
Definition: SiPixelLorentzAngle.h:60
analyzer::SiPixelLorentzAngle::simhitF_
Hit simhitF_
Definition: SiPixelLorentzAngle.h:133
Pixinfo::npix
int npix
Definition: SiPixelLorentzAngle.h:50
analyzer::SiPixelLorentzAngle::max_drift_
double max_drift_
Definition: SiPixelLorentzAngle.h:163
analyzer::SiPixelLorentzAngle::max_depth_
double max_depth_
Definition: SiPixelLorentzAngle.h:161
Clust::size_y
int size_y
Definition: SiPixelLorentzAngle.h:69
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
HcalObjRepresent::Fill
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
Definition: HcalObjRepresent.h:1053
Trajectory::measurements
DataContainer const & measurements() const
Definition: Trajectory.h:178
Clust::minPixelRow
int minPixelRow
Definition: SiPixelLorentzAngle.h:73
analyzer::SiPixelLorentzAngle::usedHitCounter_
int usedHitCounter_
Definition: SiPixelLorentzAngle.h:179
edm::AssociationMap::empty
bool empty() const
return true if empty
Definition: AssociationMap.h:164
analyzer::SiPixelLorentzAngle::isflipped_
int isflipped_
Definition: SiPixelLorentzAngle.h:108
analyzer::SiPixelLorentzAngle::diskF_
int diskF_
Definition: SiPixelLorentzAngle.h:123
analyzer::SiPixelLorentzAngle::clust_
Clust clust_
Definition: SiPixelLorentzAngle.h:116
analyzer::SiPixelLorentzAngle::hFile_
TFile * hFile_
Definition: SiPixelLorentzAngle.h:98
BaseTrackerRecHit::localPosition
LocalPoint localPosition() const override
Definition: BaseTrackerRecHit.h:56
analyzer::SiPixelLorentzAngle::min_y_
double min_y_
Definition: SiPixelLorentzAngle.h:157
Rechit::y
float y
Definition: SiPixelLorentzAngle.h:77
analyzer::SiPixelLorentzAngle::trackhit_
Hit trackhit_
Definition: SiPixelLorentzAngle.h:115
TrackerTopology::pxbModule
unsigned int pxbModule(const DetId &id) const
Definition: TrackerTopology.h:160
Clust::maxPixelRow
int maxPixelRow
Definition: SiPixelLorentzAngle.h:71
analyzer::SiPixelLorentzAngle::hist_depth_
int hist_depth_
Definition: SiPixelLorentzAngle.h:146
Trajectory
Definition: Trajectory.h:38
analyzer::SiPixelLorentzAngle::findMean
void findMean(int i, int i_ring)
Definition: SiPixelLorentzAngle.cc:570
analyzer::SiPixelLorentzAngle::trackerHitAssociatorConfig_
TrackerHitAssociator::Config trackerHitAssociatorConfig_
Definition: SiPixelLorentzAngle.h:150
flavorHistoryFilter_cfi.dr
dr
Definition: flavorHistoryFilter_cfi.py:37
analyzer::SiPixelLorentzAngle::_h_drift_depth_adc_
std::map< int, TH2F * > _h_drift_depth_adc_
Definition: SiPixelLorentzAngle.h:165
Clust::charge
float charge
Definition: SiPixelLorentzAngle.h:67
edm::AssociationMap::begin
const_iterator begin() const
first iterator over the map (read only)
Definition: AssociationMap.h:169
Pixinfo::x
float x[maxpix]
Definition: SiPixelLorentzAngle.h:54
analyzer::SiPixelLorentzAngle::h_drift_depth_adc_slice_
TH1F * h_drift_depth_adc_slice_
Definition: SiPixelLorentzAngle.h:169
analyzer::SiPixelLorentzAngle::h_cluster_shape_noadc_
TH2F * h_cluster_shape_noadc_
Definition: SiPixelLorentzAngle.h:172
analyzer::SiPixelLorentzAngle::pixelTracksCounter_
int pixelTracksCounter_
Definition: SiPixelLorentzAngle.h:179
analyzer::SiPixelLorentzAngle::ladder_
int ladder_
Definition: SiPixelLorentzAngle.h:106
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
analyzer::SiPixelLorentzAngle::eta_
float eta_
Definition: SiPixelLorentzAngle.h:110
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
Pixinfo::col
float col[maxpix]
Definition: SiPixelLorentzAngle.h:52
analyzer::SiPixelLorentzAngle::run_
int run_
Definition: SiPixelLorentzAngle.h:103
Hit::gamma
double gamma
Definition: SiPixelLorentzAngle.h:62
analyzer::SiPixelLorentzAngle::_h_drift_depth_
std::map< int, TH2F * > _h_drift_depth_
Definition: SiPixelLorentzAngle.h:168
TrackerTopology::pxfBlade
unsigned int pxfBlade(const DetId &id) const
Definition: TrackerTopology.h:447
SiPixelCluster::pixels
const std::vector< Pixel > pixels() const
Definition: SiPixelCluster.h:159
analyzer::SiPixelLorentzAngle::filename_
std::string filename_
Definition: SiPixelLorentzAngle.h:138
analyzer::SiPixelLorentzAngle::pixinfoF_
Pixinfo pixinfoF_
Definition: SiPixelLorentzAngle.h:132
Clust::y
float y
Definition: SiPixelLorentzAngle.h:66
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
Rechit::x
float x
Definition: SiPixelLorentzAngle.h:76
analyzer::SiPixelLorentzAngle::phi_
float phi_
Definition: SiPixelLorentzAngle.h:111
DeadROC_duringRun.f1
f1
Definition: DeadROC_duringRun.py:219
pileupReCalc_HLTpaths.trunc
trunc
Definition: pileupReCalc_HLTpaths.py:143
analyzer::SiPixelLorentzAngle::rechitF_
Rechit rechitF_
Definition: SiPixelLorentzAngle.h:135
analyzer::SiPixelLorentzAngle::module_
int module_
Definition: SiPixelLorentzAngle.h:105
TtFullHadEvtBuilder_cfi.prob
prob
Definition: TtFullHadEvtBuilder_cfi.py:33
PV3DBase::perp
T perp() const
Definition: PV3DBase.h:69
analyzer::SiPixelLorentzAngle::pixinfo_
Pixinfo pixinfo_
Definition: SiPixelLorentzAngle.h:114
edm::InputTag
Definition: InputTag.h:15
PVValHelper::dx
Definition: PVValidationHelpers.h:49
TrajectoryStateOnSurface::isValid
bool isValid() const
Definition: TrajectoryStateOnSurface.h:54
analyzer::SiPixelLorentzAngle::event_
int event_
Definition: SiPixelLorentzAngle.h:104
analyzer::SiPixelLorentzAngle::simData_
bool simData_
Definition: SiPixelLorentzAngle.h:141
Local3DPoint
Point3DBase< float, LocalTag > Local3DPoint
Definition: LocalPoint.h:9
Pixinfo::row
float row[maxpix]
Definition: SiPixelLorentzAngle.h:51
analyzer::SiPixelLorentzAngle::sideF_
int sideF_
Definition: SiPixelLorentzAngle.h:122
analyzer::SiPixelLorentzAngle::hitCounter_
int hitCounter_
Definition: SiPixelLorentzAngle.h:179
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37
TrackerGeometry
Definition: TrackerGeometry.h:14