65 modOn( pSet.getUntrackedParameter<bool>(
"modOn",
true) ),
66 reducedSet( pSet.getUntrackedParameter<bool>(
"reducedSet",
true) ),
67 ladOn( pSet.getUntrackedParameter<bool>(
"ladOn",
false) ),
68 layOn( pSet.getUntrackedParameter<bool>(
"layOn",
false) ),
69 phiOn( pSet.getUntrackedParameter<bool>(
"phiOn",
false) ),
70 ringOn( pSet.getUntrackedParameter<bool>(
"ringOn",
false) ),
71 bladeOn( pSet.getUntrackedParameter<bool>(
"bladeOn",
false) ),
72 diskOn( pSet.getUntrackedParameter<bool>(
"diskOn",
false) ),
73 isUpgrade( pSet.getUntrackedParameter<bool>(
"isUpgrade",
false) )
90 LogInfo(
"PixelDQM") <<
"SiPixelTrackResidualSource constructor" << endl;
103 LogInfo(
"PixelDQM") <<
"SiPixelTrackResidualSource destructor" << endl;
105 std::map<uint32_t,SiPixelTrackResidualModule*>::iterator struct_iter;
107 delete struct_iter->second;
108 struct_iter->second = 0;
114 LogInfo(
"PixelDQM") <<
"SiPixelTrackResidualSource beginRun()" << endl;
118 if (
debug_)
LogVerbatim(
"PixelDQM") <<
"TrackerGeometry "<< &(*TG) <<
" size is "<< TG->dets().size() << endl;
121 for (TrackerGeometry::DetContainer::const_iterator pxb = TG->detsPXB().begin();
122 pxb!=TG->detsPXB().end(); pxb++) {
123 if (dynamic_cast<PixelGeomDetUnit const *>((*pxb))!=0) {
128 for (TrackerGeometry::DetContainer::const_iterator pxf = TG->detsPXF().begin();
129 pxf!=TG->detsPXF().end(); pxf++) {
130 if (dynamic_cast<PixelGeomDetUnit const *>((*pxf))!=0) {
142 for (std::map<uint32_t, SiPixelTrackResidualModule*>::iterator pxd =
theSiPixelStructure.begin();
147 else throw cms::Exception(
"LogicError") <<
"SiPixelTrackResidualSource Folder Creation Failed! ";
154 else throw cms::Exception(
"LogicError") <<
"SiPixelTrackResidualSource ladder Folder Creation Failed! ";
158 else throw cms::Exception(
"LogicError") <<
"SiPixelTrackResidualSource layer Folder Creation Failed! ";
162 else throw cms::Exception(
"LogicError") <<
"SiPixelTrackResidualSource phi Folder Creation Failed! ";
166 else throw cms::Exception(
"LogicError") <<
"SiPixelTrackResidualSource Blade Folder Creation Failed! ";
170 else throw cms::Exception(
"LogicError") <<
"SiPixelTrackResidualSource Disk Folder Creation Failed! ";
174 else throw cms::Exception(
"LogicError") <<
"SiPixelTrackResidualSource Ring Folder Creation Failed! ";
631 meHitProbability = iBooker.
book1D(
"FractionLowProb",
"Fraction of hits with low probability;FractionLowProb;#HitsOnTrack",100,0.,1.);
637 for (
int s=0;
s<3;
s++) {
638 sprintf(hisID,
"residual_x_subdet_%i",
s);
641 sprintf(hisID,
"residual_y_subdet_%i",
s);
686 if( !vertices.
isValid() )
return;
694 for(reco::VertexCollection::const_iterator iVertex = vertices->begin();
695 iVertex != vertices->end(); ++iVertex ) {
696 if( iVertex->ndof() > bestNdof ) {
697 bestNdof = iVertex->
ndof();
698 vtxN =
math::XYZPoint( iVertex->x(), iVertex->y(), iVertex->z() );
700 if( iVertex->p4().pt() > maxSumPt ) {
701 maxSumPt = iVertex->p4().pt();
702 vtxP =
math::XYZPoint( iVertex->x(), iVertex->y(), iVertex->z() );
708 if( maxSumPt < 1 )
return;
710 if( maxSumPt < 1 ) vtxP = vtxN;
731 if( !TracksForRes.
isValid() )
return;
738 cout <<
"Unable to find TrackerDigiGeometry. Return\n";
746 for( reco::TrackCollection::const_iterator iTrack = TracksForRes->begin();
747 iTrack != TracksForRes->end(); ++iTrack ) {
754 double pt = iTrack->pt();
755 if( pt < 0.75 )
continue;
756 if(
abs( iTrack->dxy(vtxP) ) > 5*iTrack->dxyError() )
continue;
758 double charge = iTrack->charge();
765 if( iTrack->extra().isNonnull() &&iTrack->extra().isAvailable() ){
781 vector<TransientTrackingRecHit::RecHitPointer> GoodPixBarrelHits;
784 irecHit != iTrack->recHitsEnd(); ++irecHit){
786 if( (*irecHit)->isValid() ){
787 DetId detId = (*irecHit)->geographicalId();
789 if( detId.
det() != 1 ){
791 cout <<
"rec hit ID = " << detId.
det() <<
" not in tracker!?!?\n";
803 double gX = trecHit->globalPosition().x();
804 double gY = trecHit->globalPosition().y();
805 double gZ = trecHit->globalPosition().z();
818 GoodPixBarrelHits.push_back((trecHit));
827 GoodPixBarrelHits.push_back((trecHit));
836 GoodPixBarrelHits.push_back((trecHit));
847 if( n1+n2+n3 == 3 && n1*n2*n3 > 0) {
848 for(
unsigned int i = 0;
i < GoodPixBarrelHits.size();
i++){
850 if( GoodPixBarrelHits[
i]->isValid() ){
851 DetId detId = GoodPixBarrelHits[
i]->geographicalId().
rawId();
855 double dca2 = 0.0, dz2=0.0;
857 if(charge<0.) ptsig = -
pt;
868 triplets(x2,y2,z2,x1,y1,z1,x3,y3,z3,ptsig,dca2,dz2, kap);
876 triplets(x1,y1,z1,x2,y2,z2,x3,y3,z3,ptsig,dca2,dz2, kap);
885 triplets(x1,y1,z1,x3,y3,z3,x2,y2,z2,ptsig,dca2,dz2, kap);
892 std::map<uint32_t, SiPixelTrackResidualModule*>::iterator pxd =
theSiPixelStructure.find(detId);
907 const std::vector<Trajectory> trajColl = *(trajCollectionHandle.
product());
914 const std::vector<reco::Track> trackColl = *(trackCollectionHandle.
product());
929 std::cout <<
"Trajectories\t : " << trajColl.size() << std::endl;
930 std::cout <<
"recoTracks \t : " << trackColl.size() << std::endl;
931 std::cout <<
"Map entries \t : " << ttac.
size() << std::endl;
934 std::set<SiPixelCluster> clusterSet;
936 int tracks=0, pixeltracks=0, bpixtracks=0, fpixtracks=0;
937 int trackclusters=0, barreltrackclusters=0, endcaptrackclusters=0;
938 int otherclusters=0, barrelotherclusters=0, endcapotherclusters=0;
947 bool isBpixtrack =
false, isFpixtrack =
false, crossesPixVol=
false;
951 double d0 = (*trackref).d0(), dz = (*trackref).dz();
953 if(
abs(d0)<15 &&
abs(dz)<50) crossesPixVol =
true;
955 std::vector<TrajectoryMeasurement> tmeasColl =traj_iterator->measurements();
956 std::vector<TrajectoryMeasurement>::const_iterator tmeasIt;
958 for(tmeasIt = tmeasColl.begin();tmeasIt!=tmeasColl.end();tmeasIt++){
959 if(! tmeasIt->updatedState().isValid())
continue;
961 if(! testhit->isValid() || testhit->geographicalId().det() !=
DetId::Tracker)
continue;
962 uint testSubDetID = (testhit->geographicalId().subdetId());
974 if(isBpixtrack || isFpixtrack){
979 std::vector<TrajectoryMeasurement> tmeasColl = traj_iterator->measurements();
980 for(std::vector<TrajectoryMeasurement>::const_iterator tmeasIt = tmeasColl.begin(); tmeasIt!=tmeasColl.end(); tmeasIt++){
981 if(! tmeasIt->updatedState().isValid())
continue;
985 if(! hit->isValid() || hit->geographicalId().det() !=
DetId::Tracker ) {
990 const DetId & hit_detId = hit->geographicalId();
992 uint IntSubDetID = (hit_detId.
subdetId());
994 if(IntSubDetID == 0 )
continue;
999 if ((persistentHit != 0) && (
typeid(*persistentHit) ==
typeid(
SiPixelRecHit))) {
1003 float hit_prob = -1.;
1021 if(theGeomDet == 0) {
1029 std::map<uint32_t, SiPixelTrackResidualModule*>::iterator pxd =
theSiPixelStructure.find((*hit).geographicalId().rawId());
1036 float clust_alpha = atan2(localDir.
z(), localDir.
x());
1037 float clust_beta = atan2(localDir.
z(), localDir.
y());
1038 double corrCharge = clust->charge() *
sqrt( 1.0 / ( 1.0/
pow(
tan(clust_alpha), 2 ) +
1039 1.0/
pow(
tan(clust_beta ), 2 ) +
1043 if (pxd!=
theSiPixelStructure.end()) (*pxd).second->fill((*clust),
true, corrCharge,
reducedSet,
modOn,
ladOn,
layOn,
phiOn,
bladeOn,
diskOn,
ringOn);
1052 clusterSet.insert(*clust);
1056 float xcenter = clust->x();
1057 float ycenter = clust->y();
1067 barreltrackclusters++;
1076 float phi = clustgp.
phi();
1077 float z = clustgp.
z();
1118 endcaptrackclusters++;
1124 uint32_t DBdisk = 0;
1127 float x = clustgp.
x();
1128 float y = clustgp.
y();
1129 float z = clustgp.
z();
1198 for(TrackerGeometry::DetContainer::const_iterator it = TG->dets().begin(); it != TG->dets().end(); it++){
1200 DetId detId = (*it)->geographicalId();
1201 if(detId>=302055684 && detId<=352477708){
1202 int nofclOnTrack = 0, nofclOffTrack=0;
1203 uint32_t DBlayer=10, DBdisk=10;
1206 if(
DetId(detId).subdetId() == 1) {
1213 if(
DetId(detId).subdetId() == 2){
1218 if( isearch != clustColl.
end() ) {
1220 for(di=isearch->
begin(); di!=isearch->
end(); di++){
1221 unsigned int temp = clusterSet.size();
1222 clusterSet.insert(*di);
1224 if(clusterSet.size()>
temp) {
1229 std::map<uint32_t, SiPixelTrackResidualModule*>::iterator pxd =
theSiPixelStructure.find((*it)->geographicalId().rawId());
1231 if (pxd!=
theSiPixelStructure.end()) (*pxd).second->fill((*di),
false, -1.,
reducedSet,
modOn,
ladOn,
layOn,
phiOn,
bladeOn,
diskOn,
ringOn);
1246 if(theGeomDet == 0) {
1253 float xcenter = di->x();
1254 float ycenter = di->y();
1263 if(
DetId(detId).subdetId() == 1) {
1268 barrelotherclusters++;
1270 float phi = clustgp.
phi();
1317 endcapotherclusters++;
1319 float x = clustgp.
x();
1320 float y = clustgp.
y();
1373 if(z == 0 && DBdisk != 10){
1379 if(theGeomDet == 0) {
1385 float xcenter = di->x();
1386 float ycenter = di->y();
1397 std::map<uint32_t, SiPixelTrackResidualModule*>::iterator pxd =
theSiPixelStructure.find((*it)->geographicalId().rawId());
1402 if(
DetId(detId).subdetId() == 1){
1426 if(
DetId(detId).subdetId() == 2) {
1477 double ptsig,
double & dca2,
double & dz2,
double kap) {
1480 using namespace std;
1487 double r1 =
sqrt( x1*x1 + y1*y1 );
1488 double r3 =
sqrt( x3*x3 + y3*y3 );
1490 if( r3-
r1 < 2.0 )
cout <<
"warn r1 = " <<
r1 <<
", r3 = " << r3 << endl;
1495 double L=
sqrt((x3-x1)*(x3-x1)+(y3-y1)*(y3-y1));
1503 if( kap > 0 ) lam = -lam;
1508 double x0 = 0.5*( x1 + x3 ) + lam/
L * ( -y1 + y3 );
1509 double y0 = 0.5*( y1 + y3 ) + lam/
L * ( x1 - x3 );
1513 double num = ( y3 - y0 ) * ( x1 - x0 ) - ( x3 - x0 ) * ( y1 - y0 );
1514 double den = ( x1 - x0 ) * ( x3 - x0 ) + ( y1 - y0 ) * ( y3 - y0 );
1515 double tandip = kap * ( z3 - z1 ) / atan(
num / den );
1520 double dphi = atan( ( ( x1 - x0 ) * y0 - ( y1 - y0 ) * x0 )
1521 / ( ( x1 - x0 ) * x0 + ( y1 - y0 ) * y0 ) );
1524 double uz0 = z1 + tandip * dphi *
rho;
1532 if(kap>0) dca2=
rho-
sqrt((x0-x2)*(x0-x2)+(y0-y2)*(y0-y2));
1533 else dca2=
rho+
sqrt((-x0+x2)*(-x0+x2)+(-y0+y2)*(-y0+y2));
1544 xx = x2+(dca2*((x0-x2))/
sqrt((x0-x2)*(x0-x2)+(y0-y2)*(y0-y2)));
1545 yy = y2+(dca2*((y0-y2))/
sqrt((x0-x2)*(x0-x2)+(y0-y2)*(y0-y2)));
1548 xx = x2-(dca2*((x0-x2))/
sqrt((x0-x2)*(x0-x2)+(y0-y2)*(y0-y2)));
1549 yy = y2-(dca2*((y0-y2))/
sqrt((x0-x2)*(x0-x2)+(y0-y2)*(y0-y2)));
1554 double dphi2 = atan( ( ( xx - x0 ) * y0 - ( yy - y0 ) * x0 )
1555 / ( ( xx - x0 ) * x0 + ( yy - y0 ) * y0 ) );
1558 double uz2= uz0 - dphi2*tandip*
rho;
MonitorElement * meClPosLayer2OnTrack
MonitorElement * meClSizeYNotOnTrack_fpix
MonitorElement * meClPosDisk1mzNotOnTrack
MonitorElement * meNClustersNotOnTrack_diskm1
MonitorElement * meClSizeNotOnTrack_fpix
MonitorElement * meClSizeXNotOnTrack_all
MonitorElement * meSubdetResidualX[3]
MonitorElement * meClSizeOnTrack_layer4
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
MonitorElement * meClSizeXOnTrack_bpix
T getParameter(std::string const &) const
edm::EDGetTokenT< reco::TrackCollection > generalTracksToken_
T getUntrackedParameter(std::string const &, T const &) const
MonitorElement * meClSizeOnTrack_all
bool hasFilledProb() const
MonitorElement * meClChargeNotOnTrack_layer4
MonitorElement * meClSizeOnTrack_bpix
MonitorElement * meClChargeOnTrack_all
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
MonitorElement * meClSizeYNotOnTrack_diskp3
const_iterator end(bool update=false) const
MonitorElement * meNClustersNotOnTrack_all
MonitorElement * meClChargeNotOnTrack_diskm3
bool isNonnull() const
Checks for non-null.
MonitorElement * meClSizeYNotOnTrack_diskm2
float clusterProbability(unsigned int flags=0) const
MonitorElement * meNClustersNotOnTrack_diskm2
MonitorElement * meClPosDisk3mzOnTrack
MonitorElement * meClSizeOnTrack_layer3
MonitorElement * meClSizeYNotOnTrack_diskp1
MonitorElement * meClPosLayer3NotOnTrack
edm::EDGetTokenT< std::vector< Trajectory > > tracksrcToken_
virtual LocalPoint localPosition(const MeasurementPoint &) const =0
MonitorElement * meClPosDisk3pzNotOnTrack
MonitorElement * meNofTracks_
const LocalTrajectoryParameters & localParameters() const
friend struct const_iterator
MonitorElement * meClSizeYOnTrack_fpix
const_iterator end() const
last iterator over the map (read only)
MonitorElement * meClSizeNotOnTrack_layer2
MonitorElement * meClPosDisk3pzOnTrack
MonitorElement * meClChargeNotOnTrack_layer3
bool getByToken(EDGetToken token, Handle< PROD > &result) const
MonitorElement * meNClustersOnTrack_diskp2
MonitorElement * meClChargeNotOnTrack_fpix
MonitorElement * meNClustersNotOnTrack_diskm3
MonitorElement * meClSizeOnTrack_diskp1
virtual void dqmBeginRun(const edm::Run &r, edm::EventSetup const &iSetup)
#define DEFINE_FWK_MODULE(type)
MonitorElement * meNClustersNotOnTrack_diskp1
MonitorElement * meClSizeNotOnTrack_diskp3
MonitorElement * meClSizeXOnTrack_layer2
virtual void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
MonitorElement * meClSizeNotOnTrack_layer3
MonitorElement * meNClustersNotOnTrack_diskp3
Geom::Phi< T > phi() const
MonitorElement * meHitProbability
void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
MonitorElement * meClChargeNotOnTrack_diskm2
MonitorElement * meClChargeOnTrack_layer2
MonitorElement * meClPosLayer2NotOnTrack
MonitorElement * meClSizeXNotOnTrack_diskm2
MonitorElement * meClChargeOnTrack_diskm1
MonitorElement * meClSizeYNotOnTrack_bpix
MonitorElement * meClChargeNotOnTrack_all
MonitorElement * meClSizeYOnTrack_diskm3
MonitorElement * meNofClustersOnTrack_
MonitorElement * meClSizeXNotOnTrack_diskp1
data_type const * const_iterator
MonitorElement * meClPosDisk3mzNotOnTrack
key_type key() const
Accessor for product key.
MonitorElement * meClSizeYOnTrack_layer3
MonitorElement * meSubdetResidualY[3]
MonitorElement * meClSizeYOnTrack_bpix
const Plane & surface() const
The nominal surface of the GeomDet.
SiPixelTrackResidualSource(const edm::ParameterSet &)
MonitorElement * meNClustersOnTrack_all
MonitorElement * meNofTracksInPixVol_
MonitorElement * meClSizeYNotOnTrack_layer3
MonitorElement * meClChargeOnTrack_diskp3
TrajectoryStateOnSurface innermostMeasurementState() const
MonitorElement * meNClustersOnTrack_layer4
MonitorElement * meClSizeYOnTrack_diskp2
MonitorElement * meClSizeXOnTrack_layer1
MonitorElement * meClSizeXNotOnTrack_diskp2
MonitorElement * meClPosLayer4NotOnTrack
MonitorElement * meClSizeYOnTrack_all
uint32_t rawId() const
get the raw id
MonitorElement * meClPosDisk2pzNotOnTrack
MonitorElement * meClSizeNotOnTrack_diskm2
MonitorElement * meClSizeNotOnTrack_diskp2
MonitorElement * meClSizeYNotOnTrack_layer4
MonitorElement * meClSizeXNotOnTrack_layer4
Measurement2DPoint MeasurementPoint
Measurement points are two-dimensional by default.
MonitorElement * meClSizeXNotOnTrack_diskm1
MonitorElement * meClSizeNotOnTrack_diskm3
MonitorElement * meClSizeXOnTrack_layer4
MonitorElement * meClSizeOnTrack_diskp3
MonitorElement * meClSizeNotOnTrack_bpix
MonitorElement * meNClustersNotOnTrack_layer4
std::shared_ptr< TrackingRecHit const > ConstRecHitPointer
MonitorElement * meClChargeOnTrack_fpix
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
MonitorElement * meClSizeOnTrack_diskm3
MonitorElement * meClChargeNotOnTrack_diskm1
MonitorElement * meClPosLayer4OnTrack
MonitorElement * meClPosDisk1pzOnTrack
bool setModuleFolder(const uint32_t &rawdetid=0, int type=0, bool isUpgrade=false)
Set folder name for a module or plaquette.
MonitorElement * meClSizeYOnTrack_layer2
MonitorElement * meNClustersOnTrack_diskm2
MonitorElement * meClSizeXOnTrack_diskm2
MonitorElement * meNClustersOnTrack_layer3
MonitorElement * meClSizeNotOnTrack_layer1
MonitorElement * meClChargeNotOnTrack_layer2
MonitorElement * meClSizeNotOnTrack_diskm1
MonitorElement * meClPosLayer1NotOnTrack
void triplets(double x1, double y1, double z1, double x2, double y2, double z2, double x3, double y3, double z3, double ptsig, double &dc, double &dz, double kap)
MonitorElement * meClSizeXOnTrack_all
MonitorElement * book1D(Args &&...args)
Tan< T >::type tan(const T &t)
Abs< T >::type abs(const T &t)
MonitorElement * meClSizeXNotOnTrack_diskp3
MonitorElement * meNClustersOnTrack_fpix
MonitorElement * meClSizeOnTrack_layer1
MonitorElement * meClPosDisk1mzOnTrack
MonitorElement * meNClustersOnTrack_diskm3
LocalVector momentum() const
Momentum vector in the local frame.
edm::EDGetTokenT< std::vector< reco::Track > > trackToken_
int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > clustersrcToken_
MonitorElement * meClSizeXOnTrack_diskp2
std::shared_ptr< TrackingRecHit const > RecHitPointer
MonitorElement * meNClustersOnTrack_diskm1
MonitorElement * meNClustersNotOnTrack_fpix
int diskName() const
disk id
unsigned int pxbLayer(const DetId &id) const
MonitorElement * meNClustersOnTrack_bpix
MonitorElement * meNClustersNotOnTrack_layer3
FreeTrajectoryState initialFreeState() const
MonitorElement * meNClustersNotOnTrack_layer2
~SiPixelTrackResidualSource()
virtual TrackingRecHit const * hit() const
MonitorElement * meClChargeNotOnTrack_diskp3
MonitorElement * meClChargeOnTrack_layer4
MonitorElement * meClSizeXNotOnTrack_diskm3
void setCurrentFolder(const std::string &fullpath)
MonitorElement * meClSizeXNotOnTrack_layer1
std::map< uint32_t, SiPixelTrackResidualModule * > theSiPixelStructure
MonitorElement * meClSizeNotOnTrack_diskp1
MonitorElement * meNClustersOnTrack_diskp1
size_type size() const
map size
T const * product() const
MonitorElement * book2D(Args &&...args)
MonitorElement * meClPosDisk2pzOnTrack
MonitorElement * meClSizeXNotOnTrack_bpix
XYZPointD XYZPoint
point in space with cartesian internal representation
MonitorElement * meClSizeOnTrack_diskm1
MonitorElement * meClPosDisk2mzNotOnTrack
MonitorElement * meClSizeXNotOnTrack_fpix
virtual const PixelTopology & specificTopology() const
Returns a reference to the pixel proxy topology.
int layerName() const
layer id
T const * product() const
edm::EDGetTokenT< reco::VertexCollection > offlinePrimaryVerticesToken_
MonitorElement * meClSizeYNotOnTrack_layer2
MonitorElement * meClSizeXOnTrack_diskp1
MonitorElement * meClSizeXNotOnTrack_layer2
MonitorElement * meClSizeYOnTrack_layer1
MonitorElement * meNClustersOnTrack_layer1
double transverseCurvature() const
MonitorElement * meClSizeOnTrack_layer2
MonitorElement * meClSizeNotOnTrack_layer4
MonitorElement * meClSizeYOnTrack_layer4
MonitorElement * meClSizeYOnTrack_diskp3
MonitorElement * meClSizeOnTrack_diskp2
const_iterator find(id_type i, bool update=false) const
MonitorElement * meClChargeNotOnTrack_bpix
MonitorElement * meClSizeOnTrack_diskm2
Pixel cluster – collection of neighboring pixels above threshold.
MonitorElement * meClPosLayer1OnTrack
MonitorElement * meClSizeYOnTrack_diskp1
MonitorElement * meClSizeXOnTrack_fpix
MonitorElement * meClChargeOnTrack_diskm2
MonitorElement * meClChargeNotOnTrack_layer1
MonitorElement * meNClustersNotOnTrack_diskp2
MonitorElement * meNClustersNotOnTrack_layer1
MonitorElement * meClChargeOnTrack_layer3
MonitorElement * meClChargeOnTrack_diskm3
MonitorElement * meNClustersOnTrack_diskp3
MonitorElement * meNClustersOnTrack_layer2
MonitorElement * meClChargeNotOnTrack_diskp1
MonitorElement * meClSizeYNotOnTrack_diskm3
MonitorElement * meClSizeNotOnTrack_all
edm::InputTag clustersrc_
MonitorElement * meClChargeOnTrack_layer1
MonitorElement * meClSizeYOnTrack_diskm1
int diskName() const
disk id
MonitorElement * meClSizeYNotOnTrack_diskp2
std::pair< typename Association::data_type::first_type, double > match(Reference key, Association association, bool bestMatchByMaxValue)
Generic matching function.
MonitorElement * meNClustersNotOnTrack_bpix
const_iterator begin() const
first iterator over the map (read only)
virtual void analyze(const edm::Event &, const edm::EventSetup &)
volatile std::atomic< bool > shutdown_flag false
MonitorElement * meClSizeXOnTrack_diskm3
MonitorElement * meClChargeOnTrack_diskp2
MonitorElement * meClSizeYNotOnTrack_layer1
MonitorElement * meClChargeOnTrack_bpix
MonitorElement * meClPosDisk1pzNotOnTrack
MonitorElement * meClSizeOnTrack_fpix
Detector det() const
get the detector field from this detid
MonitorElement * meClSizeXNotOnTrack_layer3
edm::EDGetTokenT< reco::BeamSpot > beamSpotToken_
MonitorElement * meClSizeYOnTrack_diskm2
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
MonitorElement * meNofClustersNotOnTrack_
MonitorElement * meClSizeYNotOnTrack_all
edm::EDGetTokenT< TrajTrackAssociationCollection > trackAssociationToken_
MonitorElement * meClPosLayer3OnTrack
int layerName() const
layer id
MonitorElement * meClPosDisk2mzOnTrack
Power< A, B >::type pow(const A &a, const B &b)
const_iterator begin(bool update=false) const
MonitorElement * meClSizeXOnTrack_layer3
TrackingRecHitCollection::base::const_iterator trackingRecHit_iterator
iterator over a vector of reference to TrackingRecHit in the same collection
MonitorElement * meClSizeXOnTrack_diskm1
MonitorElement * meClSizeXOnTrack_diskp3
virtual const TrackerGeomDet * idToDet(DetId) const
MonitorElement * meClChargeNotOnTrack_diskp2
MonitorElement * meClSizeYNotOnTrack_diskm1
MonitorElement * meClChargeOnTrack_diskp1