CMS 3D CMS Logo

helper::MuonCollectionStoreManager Struct Reference

#include <PhysicsTools/RecoAlgos/interface/MuonSelector.h>

List of all members.

Public Types

typedef reco::MuonCollection collection

Public Member Functions

template<typename I>
void cloneAndStore (const I &begin, const I &end, edm::Event &evt)
 Method to clone tracks, track extras and their hits and clusters.
bool cloneClusters ()
 Use these to turn off/on the cloning of clusters.
 MuonCollectionStoreManager (const edm::Handle< reco::MuonCollection > &)
edm::OrphanHandle
< reco::MuonCollection
put (edm::Event &evt)
 Put tracks, track extras and hits+clusters into the event.
void setCloneClusters (bool w)
size_t size () const
 Get the size.

Private Types

typedef ClusterHitRecord
< SiPixelRecHit
PixelClusterHitRecord
typedef ClusterHitRecord
< SiStripRecHit2D
StripClusterHitRecord

Private Member Functions

bool clusterRefsOK (const reco::Track &track) const
 Check if all references to silicon strip/pixel clusters are available.
void processAllClusters ()
 Processes all the clusters of the tracks (after the tracks have been dealt with).
template<typename HitType, typename ClusterType>
void processClusters (std::vector< ClusterHitRecord< HitType > > &clusterRecords, edmNew::DetSetVector< ClusterType > &dsv, edm::RefProd< edmNew::DetSetVector< ClusterType > > &refprod)
 Processes all the clusters of a specific type (after the tracks have been dealt with).
void processHit (const TrackingRecHit *hit, edm::OwnVector< TrackingRecHit > &hits)
 Process a single hit.
void processMuon (const reco::Muon &mu)
 Process a single muon.

Private Attributes

bool cloneClusters_
 Clone clusters, or not? Default: true.
size_t hidx_
size_t higbdx_
size_t hisadx_
size_t id_
size_t idx_
size_t igbd_
size_t igbdx_
size_t isad_
size_t isadx_
std::vector
< PixelClusterHitRecord
pixelClusterRecords_
TrackingRecHitRefProd rGBHits_
reco::TrackExtraRefProd rGBTrackExtras_
reco::TrackRefProd rGBTracks_
TrackingRecHitRefProd rHits_
reco::MuonRefProd rMuons_
edm::RefProd
< edmNew::DetSetVector
< SiPixelCluster > > 
rPixelClusters_
TrackingRecHitRefProd rSAHits_
reco::TrackExtraRefProd rSATrackExtras_
reco::TrackRefProd rSATracks_
edm::RefProd
< edmNew::DetSetVector
< SiStripCluster > > 
rStripClusters_
reco::TrackExtraRefProd rTrackExtras_
reco::TrackRefProd rTracks_
std::auto_ptr
< reco::TrackCollection
selGlobalMuonTracks_
std::auto_ptr
< reco::TrackExtraCollection
selGlobalMuonTracksExtras_
std::auto_ptr
< TrackingRecHitCollection
selGlobalMuonTracksHits_
std::auto_ptr
< reco::MuonCollection
selMuons_
std::auto_ptr
< edmNew::DetSetVector
< SiPixelCluster > > 
selPixelClusters_
std::auto_ptr
< reco::TrackCollection
selStandAloneTracks_
std::auto_ptr
< reco::TrackExtraCollection
selStandAloneTracksExtras_
std::auto_ptr
< TrackingRecHitCollection
selStandAloneTracksHits_
std::auto_ptr
< edmNew::DetSetVector
< SiStripCluster > > 
selStripClusters_
std::auto_ptr
< reco::TrackCollection
selTracks_
std::auto_ptr
< reco::TrackExtraCollection
selTracksExtras_
std::auto_ptr
< TrackingRecHitCollection
selTracksHits_
std::vector
< StripClusterHitRecord
stripClusterRecords_

Classes

class  ClusterHitRecord


Detailed Description

Definition at line 33 of file MuonSelector.h.


Member Typedef Documentation

typedef reco::MuonCollection helper::MuonCollectionStoreManager::collection

Definition at line 35 of file MuonSelector.h.

typedef ClusterHitRecord<SiPixelRecHit> helper::MuonCollectionStoreManager::PixelClusterHitRecord [private]

Definition at line 94 of file MuonSelector.h.

typedef ClusterHitRecord<SiStripRecHit2D> helper::MuonCollectionStoreManager::StripClusterHitRecord [private]

Definition at line 95 of file MuonSelector.h.


Constructor & Destructor Documentation

helper::MuonCollectionStoreManager::MuonCollectionStoreManager ( const edm::Handle< reco::MuonCollection > &   ) 

Definition at line 42 of file MuonSelector.cc.


Member Function Documentation

template<typename I>
void helper::MuonCollectionStoreManager::cloneAndStore ( const I &  begin,
const I &  end,
edm::Event evt 
) [inline]

Method to clone tracks, track extras and their hits and clusters.

typename I = this is an interator over a Muon collection, **I needs to dereference into a Muon.

Definition at line 172 of file MuonSelector.h.

References hidx_, higbdx_, hisadx_, I, i, id_, idx_, igbd_, igbdx_, isad_, isadx_, configurableAnalysis::Muon, pixelClusterRecords_, processAllClusters(), processMuon(), HcalSimpleRecAlgoImpl::reco(), rGBHits_, rGBTrackExtras_, rGBTracks_, rHits_, rMuons_, rPixelClusters_, rSAHits_, rSATrackExtras_, rSATracks_, rStripClusters_, rTrackExtras_, rTracks_, and stripClusterRecords_.

00173   {
00174       using namespace reco;
00175       rHits_ = evt.template getRefBeforePut<TrackingRecHitCollection>("TrackerOnly");
00176       rGBHits_ = evt.template getRefBeforePut<TrackingRecHitCollection>("GlobalMuon");
00177       rSAHits_ = evt.template getRefBeforePut<TrackingRecHitCollection>("StandAlone");
00178       rTrackExtras_ = evt.template getRefBeforePut<TrackExtraCollection>("TrackerOnly");
00179       rGBTrackExtras_ = evt.template getRefBeforePut<TrackExtraCollection>("GlobalMuon");
00180       rSATrackExtras_ = evt.template getRefBeforePut<TrackExtraCollection>("StandAlone");
00181       rTracks_ = evt.template getRefBeforePut<TrackCollection>("TrackerOnly");      
00182       rGBTracks_ = evt.template getRefBeforePut<TrackCollection>("GlobalMuon");      
00183       rSATracks_ = evt.template getRefBeforePut<TrackCollection>("StandAlone");      
00184 
00185       rMuons_ = evt.template getRefBeforePut<MuonCollection>("SelectedMuons");      
00186 
00187       //--- New: save clusters too
00188       rStripClusters_ 
00189           = evt.template getRefBeforePut< edmNew::DetSetVector<SiStripCluster> >();
00190 
00191       rPixelClusters_ 
00192           = evt.template getRefBeforePut< edmNew::DetSetVector<SiPixelCluster> >();
00193 
00194       id_=0; igbd_=0; isad_=0; 
00195       idx_ = 0; igbdx_=0; isadx_=0; 
00196       hidx_=0; higbdx_=0; hisadx_=0;
00197 
00198       //--- Records about the clusters we want to clone
00199       stripClusterRecords_.clear();      
00200       pixelClusterRecords_.clear();      
00201 
00202       for( I i = begin; i != end; ++ i ) {
00203         const Muon & mu = * * i;
00204           //--- Clone this track, and store references aside
00205           processMuon( mu );
00206       }
00207       //--- Clone the clusters and fixup refs
00208       processAllClusters();
00209    }

bool helper::MuonCollectionStoreManager::cloneClusters (  )  [inline]

Use these to turn off/on the cloning of clusters.

The default is to clone them. To not clone (and save space in a quick local job, do: setCloneClusters(false);

Definition at line 45 of file MuonSelector.h.

References cloneClusters_.

Referenced by processMuon(), and put().

00045 {return cloneClusters_ ; } 

bool helper::MuonCollectionStoreManager::clusterRefsOK ( const reco::Track track  )  const [private]

Check if all references to silicon strip/pixel clusters are available.

Definition at line 260 of file MuonSelector.cc.

References SiStripRecHit2D::cluster(), DetId::det(), TrackingRecHit::geographicalId(), TrackingRecHit::isValid(), SiStripMatchedRecHit2D::monoHit(), ProjectedSiStripRecHit2D::originalHit(), reco::Track::recHitsBegin(), reco::Track::recHitsEnd(), SiStripMatchedRecHit2D::stereoHit(), and DetId::Tracker.

Referenced by processMuon().

00261   {
00262 
00263     for (trackingRecHit_iterator hitIt = track.recHitsBegin(); hitIt != track.recHitsEnd(); ++hitIt) {
00264       const TrackingRecHit &hit = **hitIt;
00265       if (!hit.isValid() || hit.geographicalId().det() != DetId::Tracker) continue;
00266 
00267       // So we are in the tracker - now check hit types and availability of cluster refs:
00268       const std::type_info &hit_type = typeid(hit);
00269       if (hit_type == typeid(SiPixelRecHit)) {
00270         if (!static_cast<const SiPixelRecHit &>(hit).cluster().isAvailable()) return false;
00271       } else if (hit_type == typeid(SiStripRecHit2D)) {
00272         if (!static_cast<const SiStripRecHit2D &>(hit).cluster().isAvailable()) return false;
00273       } else if (hit_type == typeid(SiStripMatchedRecHit2D)) {      
00274         const SiStripMatchedRecHit2D &mHit = static_cast<const SiStripMatchedRecHit2D &>(hit);
00275         if (!mHit.monoHit()->cluster().isAvailable()) return false;
00276         if (!mHit.stereoHit()->cluster().isAvailable()) return false;
00277       } else if (hit_type == typeid(ProjectedSiStripRecHit2D)) {
00278         const ProjectedSiStripRecHit2D &pHit = static_cast<const ProjectedSiStripRecHit2D &>(hit);
00279         if (!pHit.originalHit().cluster().isAvailable()) return false;
00280       } else {
00281         // std::cout << "|   It is a " << hit_type.name() << " hit !?" << std::endl;
00282         // Do nothing. We might end up here for FastSim hits.
00283       } // end 'switch' on hit type
00284     }
00285         
00286     // No tracker hit with bad cluster found, so all fine:
00287     return true;
00288   }

void helper::MuonCollectionStoreManager::processAllClusters (  )  [private]

Processes all the clusters of the tracks (after the tracks have been dealt with).

Definition at line 203 of file MuonSelector.cc.

References pixelClusterRecords_, rPixelClusters_, rStripClusters_, selPixelClusters_, selStripClusters_, and stripClusterRecords_.

Referenced by cloneAndStore().

00204   {
00205       if (!pixelClusterRecords_.empty()) {
00206           processClusters<SiPixelRecHit,  SiPixelCluster>(pixelClusterRecords_, *selPixelClusters_, rPixelClusters_ );
00207       }
00208       if (!stripClusterRecords_.empty()) {
00209           processClusters<SiStripRecHit2D,SiStripCluster>(stripClusterRecords_, *selStripClusters_, rStripClusters_ ); 
00210       }
00211   }

template<typename HitType, typename ClusterType>
void helper::MuonCollectionStoreManager::processClusters ( std::vector< ClusterHitRecord< HitType > > &  clusterRecords,
edmNew::DetSetVector< ClusterType > &  dsv,
edm::RefProd< edmNew::DetSetVector< ClusterType > > &  refprod 
) [inline, private]

Processes all the clusters of a specific type (after the tracks have been dealt with).

Definition at line 216 of file MuonSelector.cc.

References end, it, edmNew::DetSetVector< T >::push_back(), and python::multivaluedict::sort().

00219   {
00220       std::sort(clusterRecords.begin(), clusterRecords.end()); // this sorts them by detid 
00221       typedef typename std::vector<ClusterHitRecord<HitType> >::const_iterator RIT;
00222       RIT it = clusterRecords.begin(), end = clusterRecords.end();
00223       size_t clusters = 0;
00224       while (it != end) {
00225           RIT it2 = it;
00226           uint32_t detid = it->detid();
00227 
00228           // first isolate all clusters on the same detid
00229           while ( (it2 != end) && (it2->detid() == detid)) {  ++it2; }
00230           // now [it, it2] bracket one detid
00231 
00232           // then prepare to copy the clusters
00233           typename edmNew::DetSetVector<ClusterType>::FastFiller filler(dsv, detid);
00234           typename HitType::ClusterRef lastRef, newRef;
00235           for ( ; it != it2; ++it) { // loop on the detid
00236               // first check if we need to clone the hit
00237               if (it->clusterRef() != lastRef) { 
00238                   lastRef = it->clusterRef();
00239                   // clone cluster
00240                   filler.push_back( *lastRef ); // this might throw if !clusterRefsOK(..) above...
00241                   // make new ref
00242                   newRef = typename HitType::ClusterRef( refprod, clusters++ );
00243               } 
00244               // then fixup the reference
00245               it->rekey( newRef );
00246 
00247           } // end of the loop on a single detid
00248 
00249       } // end of the loop on all clusters
00250 
00251       clusterRecords.clear();
00252   } // end of the function

void helper::MuonCollectionStoreManager::processHit ( const TrackingRecHit hit,
edm::OwnVector< TrackingRecHit > &  hits 
) [private]

Process a single hit.

Definition at line 166 of file MuonSelector.cc.

References DetId::det(), detId, TrackingRecHit::geographicalId(), TrackingRecHit::isValid(), SiStripMatchedRecHit2D::monoHit(), ProjectedSiStripRecHit2D::originalHit(), pixelClusterRecords_, edm::OwnVector< T, P >::size(), SiStripMatchedRecHit2D::stereoHit(), stripClusterRecords_, and DetId::Tracker.

Referenced by processMuon().

00166                                                                                {
00167         //--- Skip the rest for this hit if we don't want to clone the cluster.
00168         //--- The copy constructer in the rec hit will copy the link properly.
00169         //
00170 
00171         //std::cout << "|   I'm cloing clusters, hit vector = " << (&hits) << std::endl;
00172 
00173         const DetId detId( hit->geographicalId() );
00174         if (hit->isValid() && (detId.det() == DetId::Tracker)) {
00175             //std::cout << "|   It is a tracker hit" << std::endl;
00176 
00177             const std::type_info & hit_type = typeid(*hit);
00178             if (hit_type == typeid(SiPixelRecHit)) {
00179                 //std::cout << "|  It is a Pixel hit !!" << std::endl;
00180                 pixelClusterRecords_.push_back( PixelClusterHitRecord( static_cast<const SiPixelRecHit &>(*hit), &hits, hits.size() - 1) );
00181             } else if (hit_type == typeid(SiStripRecHit2D)) {
00182                 //std::cout << "|   It is a SiStripRecHit2D hit !!" << std::endl;
00183                 stripClusterRecords_.push_back( StripClusterHitRecord( static_cast<const SiStripRecHit2D &>(*hit), &hits, hits.size() - 1) );
00184             } else if (hit_type == typeid(SiStripMatchedRecHit2D)) {      
00185                 //std::cout << "|   It is a SiStripMatchedRecHit2D hit !!" << std::endl;
00186                 const SiStripMatchedRecHit2D & mhit = static_cast<const SiStripMatchedRecHit2D &>(*hit);
00187                 stripClusterRecords_.push_back( StripClusterHitRecord( *mhit.monoHit()  , &hits, hits.size() - 1) );
00188                 stripClusterRecords_.push_back( StripClusterHitRecord( *mhit.stereoHit(), &hits, hits.size() - 1) );
00189             } else if (hit_type == typeid(ProjectedSiStripRecHit2D)) {
00190                 //std::cout << "|   It is a ProjectedSiStripRecHit2D hit !!" << std::endl;
00191                 const ProjectedSiStripRecHit2D & phit = static_cast<const ProjectedSiStripRecHit2D &>(*hit);
00192                 stripClusterRecords_.push_back( StripClusterHitRecord( phit.originalHit(), &hits, hits.size() - 1) );
00193             } else {
00194                 //std::cout << "|   It is a " << hit_type.name() << " hit !?" << std::endl;
00195                 // do nothing. We might end up here for FastSim hits.
00196             } // end 'switch' on hit type
00197         } // end if it was a tracker hit
00198 
00199   }

void helper::MuonCollectionStoreManager::processMuon ( const reco::Muon mu  )  [private]

Process a single muon.

Definition at line 72 of file MuonSelector.cc.

References reco::TrackExtraBase::add(), cloneClusters(), clusterRefsOK(), reco::Muon::combinedMuon(), reco::Muon::globalTrack(), hidx_, higbdx_, hisadx_, id_, idx_, igbd_, igbdx_, reco::Track::innerDetId(), reco::Track::innerMomentum(), reco::Track::innerOk(), reco::Track::innerPosition(), reco::Track::innerStateCovariance(), reco::Muon::innerTrack(), isad_, isadx_, edm::Ref< C, T, F >::isNonnull(), configurableAnalysis::Muon, reco::Track::outerDetId(), reco::Track::outerMomentum(), reco::Track::outerOk(), reco::Track::outerPosition(), reco::Track::outerStateCovariance(), processHit(), reco::Track::recHitsBegin(), reco::Track::recHitsEnd(), rGBHits_, rGBTrackExtras_, rGBTracks_, rHits_, rSAHits_, rSATrackExtras_, rSATracks_, rTrackExtras_, rTracks_, reco::Track::seedDirection(), selGlobalMuonTracks_, selGlobalMuonTracksExtras_, selGlobalMuonTracksHits_, selMuons_, selStandAloneTracks_, selStandAloneTracksExtras_, selStandAloneTracksHits_, selTracks_, selTracksExtras_, selTracksHits_, reco::Track::setExtra(), reco::Muon::standAloneMuon(), and reco::Muon::track().

Referenced by cloneAndStore().

00073   {
00074         if (this->cloneClusters() 
00075             && (   (mu.globalTrack().isNonnull() && !this->clusterRefsOK(*mu.globalTrack()))
00076                 || (mu.innerTrack() .isNonnull() && !this->clusterRefsOK(*mu.innerTrack() ))
00077                    // || (mu.outerTrack(). isNonnull() && !this->clusterRefsOK(*mu.outerTrack() ))
00078                    )) { // outer track is muon only and has no strip clusters...
00079           // At least until CMSSW_2_1_8, global muon track reconstruction assigns wrong hits in
00080           // case of a track from iterative tracking. These hits are fetched from Trajectories
00081           // instead of from Tracks and therefore reference temporary cluster collections.
00082           // As a hack we skip these muons here - they can anyway not be refitted. 
00083           edm::LogError("BadRef") << "@SUB=MuonCollectionStoreManager::processMuon"
00084                                   << "Skip muon: One of its tracks references "
00085                                   << "non-available clusters!";
00086           return;
00087         }
00088         
00089         selMuons_->push_back( Muon( mu ) );
00090         // only tracker Muon Track      
00091         selMuons_->back().setInnerTrack( TrackRef( rTracks_, id_ ++ ) );
00092         TrackRef trkRef = mu.track();
00093         if(trkRef.isNonnull()){
00094 
00095         selTracks_->push_back(Track( *trkRef) );
00096 
00097         Track & trk= selTracks_->back();
00098 
00099         selTracksExtras_->push_back( TrackExtra( trk.outerPosition(), trk.outerMomentum(), trk.outerOk(),
00100                                                  trk.innerPosition(), trk.innerMomentum(), trk.innerOk(),
00101                                                  trk.outerStateCovariance(), trk.outerDetId(),
00102                                                  trk.innerStateCovariance(), trk.innerDetId(),
00103                                                  trk.seedDirection() ) );
00104 
00105         TrackExtra & tx = selTracksExtras_->back();
00106 
00107         for( trackingRecHit_iterator hit = trk.recHitsBegin(); hit != trk.recHitsEnd(); ++ hit ) {
00108           selTracksHits_->push_back( (*hit)->clone() );
00109           TrackingRecHit * newHit = & (selTracksHits_->back());
00110           tx.add( TrackingRecHitRef( rHits_, hidx_ ++ ) );
00111           if (cloneClusters()) processHit( newHit, *selTracksHits_ );
00112         } // end of for loop over tracking rec hits on this track
00113         
00114         trk.setExtra( TrackExtraRef( rTrackExtras_, idx_ ++ ) );
00115 
00116         }// TO trkRef.isNonnull
00117 
00118         // global Muon Track    
00119         selMuons_->back().setGlobalTrack( TrackRef( rGBTracks_, igbd_ ++ ) );
00120         trkRef = mu.combinedMuon();
00121         if(trkRef.isNonnull()){
00122         selGlobalMuonTracks_->push_back(Track( *trkRef) );
00123         Track & trk = selGlobalMuonTracks_->back();
00124                 
00125         selGlobalMuonTracksExtras_->push_back( TrackExtra( trk.outerPosition(), trk.outerMomentum(), trk.outerOk(),
00126                                                 trk.innerPosition(), trk.innerMomentum(), trk.innerOk(),
00127                                                 trk.outerStateCovariance(), trk.outerDetId(),
00128                                                 trk.innerStateCovariance(), trk.innerDetId(), trk.seedDirection() ) );
00129         TrackExtra & tx = selGlobalMuonTracksExtras_->back();
00130         for( trackingRecHit_iterator hit = trk.recHitsBegin(); hit != trk.recHitsEnd(); ++ hit ) {
00131             selGlobalMuonTracksHits_->push_back( (*hit)->clone() );
00132             TrackingRecHit * newHit = & (selGlobalMuonTracksHits_->back()); 
00133             tx.add( TrackingRecHitRef( rGBHits_, higbdx_ ++ ) );
00134             if (cloneClusters()) processHit( newHit, *selGlobalMuonTracksHits_ );
00135         }
00136         trk.setExtra( TrackExtraRef( rGBTrackExtras_, igbdx_ ++ ) );
00137 
00138         } // GB trkRef.isNonnull()
00139 
00140         // stand alone Muon Track       
00141         selMuons_->back().setOuterTrack( TrackRef( rSATracks_, isad_ ++ ) );
00142         trkRef = mu.standAloneMuon();
00143         if(trkRef.isNonnull()){
00144         selStandAloneTracks_->push_back(Track( *trkRef) );
00145         Track & trk = selStandAloneTracks_->back();
00146                 
00147         selStandAloneTracksExtras_->push_back( TrackExtra( trk.outerPosition(), trk.outerMomentum(), trk.outerOk(),
00148                                                 trk.innerPosition(), trk.innerMomentum(), trk.innerOk(),
00149                                                 trk.outerStateCovariance(), trk.outerDetId(),
00150                                                 trk.innerStateCovariance(), trk.innerDetId(), trk.seedDirection() ) );
00151         TrackExtra & tx = selStandAloneTracksExtras_->back();
00152         for( trackingRecHit_iterator hit = trk.recHitsBegin(); hit != trk.recHitsEnd(); ++ hit ) {
00153           selStandAloneTracksHits_->push_back( (*hit)->clone() );
00154           tx.add( TrackingRecHitRef( rSAHits_, hisadx_ ++ ) );
00155         }
00156         trk.setExtra( TrackExtraRef( rSATrackExtras_, isadx_ ++ ) );
00157 
00158         } // SA trkRef.isNonnull()
00159   }// end of track, and function

edm::OrphanHandle< reco::MuonCollection > helper::MuonCollectionStoreManager::put ( edm::Event evt  ) 

Put tracks, track extras and hits+clusters into the event.

Put Muons, tracks, track extras and hits+clusters into the event.

Definition at line 295 of file MuonSelector.cc.

References cloneClusters(), h, edm::Event::put(), selGlobalMuonTracks_, selGlobalMuonTracksExtras_, selGlobalMuonTracksHits_, selMuons_, selPixelClusters_, selStandAloneTracks_, selStandAloneTracksExtras_, selStandAloneTracksHits_, selStripClusters_, selTracks_, selTracksExtras_, and selTracksHits_.

00295                           {
00296       edm::OrphanHandle<reco::MuonCollection> h;
00297       h = evt.put( selMuons_ , "SelectedMuons");
00298       evt.put( selTracks_ , "TrackerOnly");
00299       evt.put( selTracksExtras_ , "TrackerOnly");
00300       evt.put( selTracksHits_ ,"TrackerOnly");
00301       evt.put( selGlobalMuonTracks_,"GlobalMuon" );
00302       evt.put( selGlobalMuonTracksExtras_ ,"GlobalMuon");
00303       evt.put( selGlobalMuonTracksHits_,"GlobalMuon" );
00304       evt.put( selStandAloneTracks_ ,"StandAlone");
00305       evt.put( selStandAloneTracksExtras_ ,"StandAlone");
00306       evt.put( selStandAloneTracksHits_ ,"StandAlone");
00307       if (cloneClusters()) {
00308           evt.put( selStripClusters_ );
00309           evt.put( selPixelClusters_ );
00310       }
00311       return h; 
00312      
00313     }

void helper::MuonCollectionStoreManager::setCloneClusters ( bool  w  )  [inline]

Definition at line 46 of file MuonSelector.h.

References cloneClusters_.

00046 { cloneClusters_ = w; }

size_t helper::MuonCollectionStoreManager::size ( void   )  const [inline]

Get the size.

Definition at line 56 of file MuonSelector.h.

References selMuons_.

00056 { return selMuons_->size(); }


Member Data Documentation

bool helper::MuonCollectionStoreManager::cloneClusters_ [private]

Clone clusters, or not? Default: true.

Definition at line 137 of file MuonSelector.h.

Referenced by cloneClusters(), and setCloneClusters().

size_t helper::MuonCollectionStoreManager::hidx_ [private]

Definition at line 134 of file MuonSelector.h.

Referenced by cloneAndStore(), and processMuon().

size_t helper::MuonCollectionStoreManager::higbdx_ [private]

Definition at line 134 of file MuonSelector.h.

Referenced by cloneAndStore(), and processMuon().

size_t helper::MuonCollectionStoreManager::hisadx_ [private]

Definition at line 134 of file MuonSelector.h.

Referenced by cloneAndStore(), and processMuon().

size_t helper::MuonCollectionStoreManager::id_ [private]

Definition at line 134 of file MuonSelector.h.

Referenced by cloneAndStore(), and processMuon().

size_t helper::MuonCollectionStoreManager::idx_ [private]

Definition at line 134 of file MuonSelector.h.

Referenced by cloneAndStore(), and processMuon().

size_t helper::MuonCollectionStoreManager::igbd_ [private]

Definition at line 134 of file MuonSelector.h.

Referenced by cloneAndStore(), and processMuon().

size_t helper::MuonCollectionStoreManager::igbdx_ [private]

Definition at line 134 of file MuonSelector.h.

Referenced by cloneAndStore(), and processMuon().

size_t helper::MuonCollectionStoreManager::isad_ [private]

Definition at line 134 of file MuonSelector.h.

Referenced by cloneAndStore(), and processMuon().

size_t helper::MuonCollectionStoreManager::isadx_ [private]

Definition at line 134 of file MuonSelector.h.

Referenced by cloneAndStore(), and processMuon().

std::vector<PixelClusterHitRecord> helper::MuonCollectionStoreManager::pixelClusterRecords_ [private]

Definition at line 113 of file MuonSelector.h.

Referenced by cloneAndStore(), processAllClusters(), and processHit().

TrackingRecHitRefProd helper::MuonCollectionStoreManager::rGBHits_ [private]

Definition at line 127 of file MuonSelector.h.

Referenced by cloneAndStore(), and processMuon().

reco::TrackExtraRefProd helper::MuonCollectionStoreManager::rGBTrackExtras_ [private]

Definition at line 126 of file MuonSelector.h.

Referenced by cloneAndStore(), and processMuon().

reco::TrackRefProd helper::MuonCollectionStoreManager::rGBTracks_ [private]

Definition at line 125 of file MuonSelector.h.

Referenced by cloneAndStore(), and processMuon().

TrackingRecHitRefProd helper::MuonCollectionStoreManager::rHits_ [private]

Definition at line 119 of file MuonSelector.h.

Referenced by cloneAndStore(), and processMuon().

reco::MuonRefProd helper::MuonCollectionStoreManager::rMuons_ [private]

Definition at line 115 of file MuonSelector.h.

Referenced by cloneAndStore().

edm::RefProd< edmNew::DetSetVector<SiPixelCluster> > helper::MuonCollectionStoreManager::rPixelClusters_ [private]

Definition at line 123 of file MuonSelector.h.

Referenced by cloneAndStore(), and processAllClusters().

TrackingRecHitRefProd helper::MuonCollectionStoreManager::rSAHits_ [private]

Definition at line 131 of file MuonSelector.h.

Referenced by cloneAndStore(), and processMuon().

reco::TrackExtraRefProd helper::MuonCollectionStoreManager::rSATrackExtras_ [private]

Definition at line 130 of file MuonSelector.h.

Referenced by cloneAndStore(), and processMuon().

reco::TrackRefProd helper::MuonCollectionStoreManager::rSATracks_ [private]

Definition at line 129 of file MuonSelector.h.

Referenced by cloneAndStore(), and processMuon().

edm::RefProd< edmNew::DetSetVector<SiStripCluster> > helper::MuonCollectionStoreManager::rStripClusters_ [private]

Definition at line 122 of file MuonSelector.h.

Referenced by cloneAndStore(), and processAllClusters().

reco::TrackExtraRefProd helper::MuonCollectionStoreManager::rTrackExtras_ [private]

Definition at line 118 of file MuonSelector.h.

Referenced by cloneAndStore(), and processMuon().

reco::TrackRefProd helper::MuonCollectionStoreManager::rTracks_ [private]

Definition at line 117 of file MuonSelector.h.

Referenced by cloneAndStore(), and processMuon().

std::auto_ptr<reco::TrackCollection> helper::MuonCollectionStoreManager::selGlobalMuonTracks_ [private]

Definition at line 102 of file MuonSelector.h.

Referenced by processMuon(), and put().

std::auto_ptr<reco::TrackExtraCollection> helper::MuonCollectionStoreManager::selGlobalMuonTracksExtras_ [private]

Definition at line 103 of file MuonSelector.h.

Referenced by processMuon(), and put().

std::auto_ptr<TrackingRecHitCollection> helper::MuonCollectionStoreManager::selGlobalMuonTracksHits_ [private]

Definition at line 104 of file MuonSelector.h.

Referenced by processMuon(), and put().

std::auto_ptr<reco::MuonCollection> helper::MuonCollectionStoreManager::selMuons_ [private]

Definition at line 98 of file MuonSelector.h.

Referenced by processMuon(), put(), and size().

std::auto_ptr< edmNew::DetSetVector<SiPixelCluster> > helper::MuonCollectionStoreManager::selPixelClusters_ [private]

Definition at line 110 of file MuonSelector.h.

Referenced by processAllClusters(), and put().

std::auto_ptr<reco::TrackCollection> helper::MuonCollectionStoreManager::selStandAloneTracks_ [private]

Definition at line 105 of file MuonSelector.h.

Referenced by processMuon(), and put().

std::auto_ptr<reco::TrackExtraCollection> helper::MuonCollectionStoreManager::selStandAloneTracksExtras_ [private]

Definition at line 106 of file MuonSelector.h.

Referenced by processMuon(), and put().

std::auto_ptr<TrackingRecHitCollection> helper::MuonCollectionStoreManager::selStandAloneTracksHits_ [private]

Definition at line 107 of file MuonSelector.h.

Referenced by processMuon(), and put().

std::auto_ptr< edmNew::DetSetVector<SiStripCluster> > helper::MuonCollectionStoreManager::selStripClusters_ [private]

Definition at line 109 of file MuonSelector.h.

Referenced by processAllClusters(), and put().

std::auto_ptr<reco::TrackCollection> helper::MuonCollectionStoreManager::selTracks_ [private]

Definition at line 99 of file MuonSelector.h.

Referenced by processMuon(), and put().

std::auto_ptr<reco::TrackExtraCollection> helper::MuonCollectionStoreManager::selTracksExtras_ [private]

Definition at line 100 of file MuonSelector.h.

Referenced by processMuon(), and put().

std::auto_ptr<TrackingRecHitCollection> helper::MuonCollectionStoreManager::selTracksHits_ [private]

Definition at line 101 of file MuonSelector.h.

Referenced by processMuon(), and put().

std::vector<StripClusterHitRecord> helper::MuonCollectionStoreManager::stripClusterRecords_ [private]

Definition at line 112 of file MuonSelector.h.

Referenced by cloneAndStore(), processAllClusters(), and processHit().


The documentation for this struct was generated from the following files:
Generated on Tue Jun 9 18:47:29 2009 for CMSSW by  doxygen 1.5.4