130 |
|
std::vector<InputTag> SimVertexProducers; |
131 |
|
std::vector<InputTag> SimHitProducers; |
132 |
|
|
133 |
+ |
std::vector<InputTag> TrackProducers; |
134 |
|
std::vector<InputTag> TrajectoryProducers; |
135 |
|
std::vector<InputTag> EcalRecHitProducers; |
136 |
|
std::vector<InputTag> HcalHBHERecHitProducers; |
158 |
|
SimVertexProducers = iConfig.getParameter<std::vector<InputTag> >("SimVertexProducers"); |
159 |
|
SimHitProducers = iConfig.getParameter<std::vector<InputTag> >("SimHitProducers"); |
160 |
|
|
161 |
< |
TrajectoryProducers = iConfig.getParameter<std::vector<InputTag> >("TrajectoryProducers"); |
161 |
> |
TrackProducers = iConfig.getParameter<std::vector<InputTag> >("TrajectoryProducers"); |
162 |
> |
TrajectoryProducers = iConfig.getParameter<std::vector<InputTag> >("TrajectoryProducers"); |
163 |
|
EcalRecHitProducers = iConfig.getParameter<std::vector<InputTag> >("EcalRecHitProducers"); |
164 |
|
HcalHBHERecHitProducers = iConfig.getParameter<std::vector<InputTag> >("HcalHBHERecHitProducers"); |
165 |
|
HcalHORecHitProducers = iConfig.getParameter<std::vector<InputTag> >("HcalHORecHitProducers"); |
388 |
|
ThickVector.x() -Pos.x(), ThickVector.y() -Pos.y(), ThickVector.z() -Pos.z()); |
389 |
|
} |
390 |
|
|
389 |
– |
// ### FORWARD GEOMETRY ### |
390 |
– |
// edm::ESHandle<CaloGeometry> ForwardGeom; |
391 |
– |
// iSetup.get<IdealGeometryRecord>().get( ForwardGeom ); |
392 |
– |
// const vector<DetId> FwdDets = ForwardGeom->getValidDetIds(DetId::Calo, HcalCastorDetId::SubdetectorId); |
393 |
– |
// printf("FwdDetsSize = %i\n",FwdDets.size()); |
391 |
|
|
392 |
|
// ### Save .geom ### |
393 |
|
|
394 |
< |
printf("FWD Size = %i\n", Geom_Fwd->Det_ECAL_ALL.size()); |
395 |
< |
printf("FWD Size = %i\n", Geom_Fwd->Det_HCAL_ALL.size()); |
396 |
< |
printf("FWD Size = %i\n", Geom_Fwd->Det_FWD_ALL.size()); |
394 |
> |
// printf("FWD Size = %i\n", Geom_Fwd->Det_ECAL_ALL.size()); |
395 |
> |
// printf("FWD Size = %i\n", Geom_Fwd->Det_HCAL_ALL.size()); |
396 |
> |
// printf("FWD Size = %i\n", Geom_Fwd->Det_FWD_ALL.size()); |
397 |
|
|
398 |
|
|
399 |
|
|
507 |
|
} |
508 |
|
|
509 |
|
|
510 |
< |
// ### TRACKS ### |
510 |
> |
// ### TRAJECTORY ### |
511 |
|
for(unsigned int i=0;i<TrajectoryProducers.size();i++){ |
512 |
|
Handle<TrajTrackAssociationCollection> trajTrackAssociationHandle; |
513 |
|
iEvent.getByLabel(TrajectoryProducers[i], trajTrackAssociationHandle); |
521 |
|
info->Coll = i; |
522 |
|
info->P = it->val->p(); |
523 |
|
info->Pt = it->val->pt(); |
524 |
+ |
info->chi2 = it->key->chiSquared(); |
525 |
|
MyrecoTrack->Info = info; |
526 |
|
|
527 |
|
|
552 |
|
} |
553 |
|
} |
554 |
|
|
555 |
+ |
// ### TRACK ### |
556 |
+ |
|
557 |
+ |
for(unsigned int i=0;i<TrackProducers.size();i++){ |
558 |
+ |
edm::Handle<std::vector< reco::Track > > h_Tracks; |
559 |
+ |
iEvent.getByLabel(TrackProducers[i], h_Tracks); |
560 |
+ |
std::vector< reco::Track > TrackColl = *h_Tracks.product(); |
561 |
+ |
|
562 |
+ |
for ( unsigned int t = 0; t < TrackColl.size(); ++t ) { |
563 |
+ |
reco::Track recoTrack =TrackColl[t]; |
564 |
+ |
|
565 |
+ |
MyRecoTrack* MyrecoTrack = new MyRecoTrack; |
566 |
+ |
MyRecoTrackInfo* info = new MyRecoTrackInfo; |
567 |
+ |
info->Coll = TrajectoryProducers.size()+i; |
568 |
+ |
info->P = recoTrack.p(); |
569 |
+ |
info->Pt = recoTrack.pt(); |
570 |
+ |
info->chi2 = recoTrack.chi2(); |
571 |
+ |
MyrecoTrack->Info = info; |
572 |
+ |
|
573 |
+ |
|
574 |
+ |
for(unsigned int h=0;h<recoTrack.recHitsSize();h++){ |
575 |
+ |
TrackingRecHitRef h_it = recoTrack.recHit(h); |
576 |
+ |
if(!h_it->isValid() )continue; |
577 |
+ |
DetId detId = h_it->geographicalId(); |
578 |
+ |
const GeomDet * theDet = tkGeom->idToDet(detId); |
579 |
+ |
LocalPoint localPos = h_it->localPosition(); |
580 |
+ |
|
581 |
+ |
MyRecoHit* hit = new MyRecoHit; |
582 |
+ |
hit->x = theDet->surface().toGlobal(localPos).x(); |
583 |
+ |
hit->y = theDet->surface().toGlobal(localPos).y(); |
584 |
+ |
hit->z = theDet->surface().toGlobal(localPos).z(); |
585 |
+ |
hit->DetId = detId.rawId(); |
586 |
+ |
hit->Charge = -1; |
587 |
+ |
MyrecoTrack->Hits.push_back(hit); |
588 |
+ |
} |
589 |
+ |
MyEvent->MyRecoTrackCollection.push_back(MyrecoTrack); |
590 |
+ |
} |
591 |
+ |
} |
592 |
+ |
|
593 |
+ |
|
594 |
|
|
595 |
|
// ### ECALRecHits ### |
596 |
|
for(unsigned int i=0;i<EcalRecHitProducers.size();i++){ |