CMS 3D CMS Logo

Functions

/data/refman/pasoursint/CMSSW_4_1_8_patch12/src/RecoParticleFlow/PFProducer/src/PFBlockAlgo.cc File Reference

#include "RecoParticleFlow/PFProducer/interface/PFBlockAlgo.h"
#include "RecoParticleFlow/PFProducer/interface/Utils.h"
#include "RecoParticleFlow/PFClusterTools/interface/LinkByRecHit.h"
#include "DataFormats/ParticleFlowReco/interface/PFBlock.h"
#include "DataFormats/TrackReco/interface/Track.h"
#include "DataFormats/ParticleFlowReco/interface/PFDisplacedVertex.h"
#include "DataFormats/ParticleFlowReco/interface/PFRecHit.h"
#include <stdexcept>
#include "TMath.h"

Go to the source code of this file.

Functions

std::ostream & operator<< (std::ostream &out, const PFBlockAlgo &a)

Function Documentation

std::ostream& operator<< ( std::ostream &  out,
const PFBlockAlgo a 
)

Definition at line 957 of file PFBlockAlgo.cc.

References PFBlockAlgo::blocks(), ExpressReco_HICollisions_FallBack::blocks, PFBlockAlgo::elements_, and dbtoconf::out.

                                                              {
  if(! out) return out;
  
  out<<"====== Particle Flow Block Algorithm ======= ";
  out<<endl;
  out<<"number of unassociated elements : "<<a.elements_.size()<<endl;
  out<<endl;
  
  for(PFBlockAlgo::IEC ie = a.elements_.begin(); 
      ie != a.elements_.end(); ie++) {
    out<<"\t"<<**ie <<endl;
  }

  
  //   const PFBlockCollection& blocks = a.blocks();

  const std::auto_ptr< reco::PFBlockCollection >& blocks
    = a.blocks(); 
    
  if(!blocks.get() ) {
    out<<"blocks already transfered"<<endl;
  }
  else {
    out<<"number of blocks : "<<blocks->size()<<endl;
    out<<endl;
    
    for(PFBlockAlgo::IBC ib=blocks->begin(); 
        ib != blocks->end(); ib++) {
      out<<(*ib)<<endl;
    }
  }

  return out;
}