Main Page | Namespace List | Class Hierarchy | Class List | File List | Class Members | File Members

XANAEsdBuilder Class Reference

#include <writeESD.h>

Inheritance diagram for XANAEsdBuilder:

[legend]
Collaboration diagram for XANAEsdBuilder:
[legend]
List of all members.

Public Member Functions

 XANAEsdBuilder ()
 ~XANAEsdBuilder ()

Public Attributes

SimpleConfigurable< bool > writeTree_
SimpleConfigurable< bool > memlog_
SimpleConfigurable< std::string > fileName_
SimpleConfigurable< std::string > treeName_
SimpleConfigurable< int > autosave_
SimpleConfigurable< bool > writeCaloRecHits_
SimpleConfigurable< int > compressionLevel_
SimpleConfigurable< int > bufferSize_
SimpleConfigurable< int > splitMode_
SimpleConfigurable< bool > writeTrackHits_
SimpleConfigurable< bool > writeAllTrackHits_
SimpleConfigurable< bool > writeEleTrackHits_
SimpleConfigurable< std::string > clusterizerName_
SimpleConfigurable< std::string > superClusterizerName_
SimpleConfigurable< std::string > endcapSuperClusterizerName_
SimpleConfigurable< std::string > hcalClusterizerName_
SimpleConfigurable< std::string > trackReconstructorName_
SimpleConfigurable< std::string > vertexReconstructorName_
SimpleConfigurable< std::string > muonReconstructorName_
SimpleConfigurable< std::string > electronReconstructorName_
SimpleConfigurable< bool > hZZVertexReconstructor_
SimpleConfigurable< std::string > gsfForwardFit_
SimpleConfigurable< std::string > electronTrackSeeding_
SimpleConfigurable< float > eCandidateEtaCut_
SimpleConfigurable< float > eCandidatePhiCut_
SimpleConfigurable< float > eCandidateEOverPMin_
SimpleConfigurable< float > eCandidateEOverPMax_
SimpleConfigurable< bool > jetsFromTrueInformation_
SimpleConfigurable< bool > metsFromTrueInformation_
SimpleConfigurable< std::string > l1Menu_
SimpleConfigurable< std::string > hltMenu_

Protected Types

typedef RecCollection< TTrack > Collection

Protected Member Functions

virtual void upDate (G3EventProxy *)
void upDate (G3SetUp *)
void setHeader (G3EventProxy *)
void setCaloRecHits (G3EventProxy *)
void setEmClusters (G3EventProxy *)
void setSuperClusters (G3EventProxy *)
void setEndcapClusters (G3EventProxy *)
void setHadClusters (G3EventProxy *)
void setTracks (G3EventProxy *)
void setVertices (G3EventProxy *)
void setJets (G3EventProxy *)
void setMet (G3EventProxy *)
void setMuons (G3EventProxy *)
void setElectrons (G3EventProxy *)
void setPhotons (G3EventProxy *)
void setElectronsGSF (G3EventProxy *)
void setElectronsGSFPixelMatch (G3EventProxy *)
void setElectronsZZVertex (G3EventProxy *)
virtual void setMcTruth (G3EventProxy *)
void setTriggerInfo (G3EventProxy *)
void setAllTrackHits (G3EventProxy *)
void setElectronTracks (G3EventProxy *)
void setEleTrackHits (std::vector< TrajectoryMeasurement >, XANAElectronTrack *)
void writeTree ()
std::string getAlgoName (int)

Protected Attributes

CollectiontheCollection
RecCollection< EgammaBasicCluster > * clusters
RecCollection< EgammaSuperCluster > * superClusters
RecCollection< EgammaEndcapCluster > * endcapSuperClusters
RecCollection< EcalPlusHcalTower > * towers
RecCollection< TTrack > * tracks
RecCollection< RecoVertex > * vertices
RecCollection< RecMuon > * muons
RecCollection< ElectronCandidate > * electrons
RecCollection< PhotonCandidate > * photons
RecCollection< ConcreteRecTrack > * eltracks
RecCollection< RecJet > * jets
RecCollection< RecMET > * mets
RecCollection< HighLevelTriggerResult > * hlt
TTree * xanaEsdTree_
TBranch * xanaEsdEventBranch_
TFile * xanaEsdFile_
XANAEsdEventxanaEsdEvent_
TBranch * xanaGenEventBranch_
XANAGeneratorEventxanaGenEvent_
TBranch * xanaGeantEventBranch_
XANAGeantEventxanaGeantEvent_
IsoCalculator * ciso_
XANAMemLogxanamemlog_
int nbClusters_
int nbTracks_
int nbElectrons_
int nbPhotons_
map< CellID, XANACaloRecHit,
less< CellID > > 
allCaloRecHits_
map< CellID, XANACaloRecHit,
less< CellID > > 
clusterizedCaloRecHits_
vector< CellID > allCells_
vector< CellID > clusterizedCells_
vector< RecTrack > electronTracks
RegionalTrackFinder * theRegionalTrackFinder
VertexTrackCompatibilityEstimator * theVertexTrackCompatibilityEstimator

Member Typedef Documentation

typedef RecCollection<TTrack> XANAEsdBuilder::Collection [protected]
 

Definition at line 110 of file writeESD.h.


Constructor & Destructor Documentation

XANAEsdBuilder::XANAEsdBuilder  ) 
 

Definition at line 112 of file writeESD.cpp.

References XANAGeantEvent::addEsdEvent(), XANAGeantEvent::addGeneratorEvent(), autosave_, bufferSize_, ciso_, clusterizerName_, clusters, compressionLevel_, electronReconstructorName_, electrons, electronTrackSeeding_, endcapSuperClusterizerName_, fileName_, gsfForwardFit_, hcalClusterizerName_, hltMenu_, hZZVertexReconstructor_, jetsFromTrueInformation_, l1Menu_, memlog_, metsFromTrueInformation_, muonReconstructorName_, muons, xana::out(), splitMode_, superClusterizerName_, superClusters, trackReconstructorName_, tracks, treeName_, vertexReconstructorName_, vertices, writeAllTrackHits_, writeCaloRecHits_, writeEleTrackHits_, writeTrackHits_, writeTree_, xanaEsdEvent_, xanaEsdEventBranch_, xanaEsdFile_, xanaEsdTree_, xanaGeantEvent_, xanaGeantEventBranch_, xanaGenEvent_, xanaGenEventBranch_, and xanamemlog_.

00112                               : clusters(0), superClusters(0), endcapSuperClusters(0), towers(0), tracks(0), vertices(0),
00113    muons(0), electrons(0), photons(0), eltracks(0), jets(0), mets(0), hlt(0), xanaEsdTree_(0),  xanaEsdEventBranch_(0), xanaEsdFile_(0), 
00114    xanaEsdEvent_(0), xanaGenEventBranch_(0), xanaGenEvent_(0), xanaGeantEventBranch_(0),
00115    xanaGeantEvent_(0), ciso_(0), xanamemlog_(0), nbClusters_(0), nbTracks_(0), nbElectrons_(0)
00116    
00117 { 
00118 
00119    // initialize observer    
00120    xana::out(1) << "Constructing an XANAEsdBuilder" << endl ;
00121    Observer<G3EventProxy *>::init() ; 
00122    Observer<G3SetUp *>::init() ; 
00123 
00124    // algos configuration
00125    clusterizerName_ = 
00126     SimpleConfigurable<std::string>("EGBCluster","XANADOO:Clusterizer");
00127    superClusterizerName_ =
00128     SimpleConfigurable<std::string>("EGSCluster","XANADOO:SuperClusterizer");
00129    endcapSuperClusterizerName_ =
00130     SimpleConfigurable<std::string>("EGECluster","XANADOO:EndcapSuperClusterizer");
00131    hcalClusterizerName_ =
00132     SimpleConfigurable<std::string>("TowerBuilder","XANADOO:HcalClusterizer");
00133    trackReconstructorName_=
00134     SimpleConfigurable<std::string>("TransientCombinatorialTrackFinder","XANADOO:TrackReconstructor");
00135    vertexReconstructorName_=
00136     SimpleConfigurable<std::string>("PrincipalVertexFinder","XANADOO:VertexReconstructor");
00137    muonReconstructorName_=
00138     SimpleConfigurable<std::string>("GlobalMuonReconstructor","XANADOO:MuonReconstructor");
00139    electronReconstructorName_=
00140     SimpleConfigurable<std::string>("GSF","XANADOO:ElectronReconstructor");
00141    gsfForwardFit_=
00142     SimpleConfigurable<std::string>("GSF","XANADOO:gsfForwardFit");
00143    electronTrackSeeding_=
00144     SimpleConfigurable<std::string>("PixelMatch","XANADOO:ElectronTrackSeeding");
00145    hZZVertexReconstructor_=
00146     SimpleConfigurable<bool>(false,"XANADOO:hZZVertexReconstructor");
00147    jetsFromTrueInformation_ = 
00148     SimpleConfigurable<bool>(false,"XANADOO:jetsFromTrueInformation");
00149    metsFromTrueInformation_ = 
00150     SimpleConfigurable<bool>(false,"XANADOO:metsFromTrueInformation");
00151    // get L1 trigger config from Data/TriggerData/L1GlobalTrigger/$lumichoice/trigger_menu.dat
00152    l1Menu_ = 
00153     SimpleConfigurable<std::string>("lumi2x1033","L1Globaltrigger:TriggerMenu");
00154    // set HLT trigger config from xml file
00155    hltMenu_ = 
00156     SimpleConfigurable<std::string>("2x1033HLT.xml","HighLevelTriggerXML:XMLfile");
00157 
00158 
00159    // xanadoo steering
00160    writeTree_ = SimpleConfigurable<bool>(false,"XANADOO:writeEsd");
00161    writeCaloRecHits_ = SimpleConfigurable<bool>(false,"XANADOO:EsdWithCaloRecHits");
00162    writeTrackHits_ = SimpleConfigurable<bool>(false,"XANADOO:EsdWithTrackHits");   writeAllTrackHits_ = SimpleConfigurable<bool>(false,"XANADOO:EsdWithAllTrackHits");
00163    writeEleTrackHits_ = SimpleConfigurable<bool>(false,"XANADOO:EsdWithEleTrackHits");
00164 
00165      // memory log
00166    memlog_ = SimpleConfigurable<bool>(false,"XANADOO:memlog");
00167    if (memlog_) xanamemlog_=new XANAMemLog();
00168 
00169    // creates output file
00170    fileName_ = SimpleConfigurable<std::string>("single_eminus_pt100.root","XANADOO:FileName");
00171    xanaEsdFile_ = new TFile(fileName_.value().c_str(),"RECREATE");
00172    compressionLevel_ = SimpleConfigurable<int>(1,"XANADOO:CompressionLevel");        
00173    xanaEsdFile_->SetCompressionLevel(compressionLevel_);
00174 
00175    // create TTree
00176    autosave_ = SimpleConfigurable<int>(1000000000,"XANADOO:AutoSaveSize");        
00177    bufferSize_ = SimpleConfigurable<int>(256000,"XANADOO:BufferSize");        
00178    splitMode_ = SimpleConfigurable<int>(99,"XANADOO:SplitMode");        
00179    xana::out(1) << "creating xanaEsdTree  .."<<endl; 
00180    treeName_ = SimpleConfigurable<std::string>("XANAESD","XANADOO:TreeName");
00181    xanaEsdTree_ = new TTree(treeName_.value().c_str(),"test XANADOO ESD tree");  
00182    xanaEsdTree_->SetAutoSave(autosave_);
00183    int bufferSizeValue = bufferSize_.value();
00184    if (splitMode_.value()) bufferSizeValue /= 4; //from ROOT example
00185 
00186    // initialize event and create branches
00187    xanaEsdEvent_ = new XANAEsdEvent();
00188    xana::out(1) << "creating xanaEsdEventBranch  .."<<endl; 
00189    xanaEsdEventBranch_ = 
00190    xanaEsdTree_->Branch("Event.","XANAEsdEvent",&xanaEsdEvent_,bufferSizeValue,splitMode_.value());
00191    xana::out(1) << "xanaEsdEventBranch  branch created .."<<endl; 
00192 
00193    xanaGenEvent_ = new XANAGeneratorEvent();
00194    xana::out(1) << "creating xanaGeneratorEventBranch  .."<<endl; 
00195    xanaGenEventBranch_ = 
00196    xanaEsdTree_->Branch("GeneratorEvent.","XANAGeneratorEvent",&xanaGenEvent_,bufferSizeValue,splitMode_.value());
00197    xana::out(1) << "xanaGeneratorEventBranch  branch created .."<<endl; 
00198 
00199    xanaGeantEvent_ = new XANAGeantEvent();
00200    xana::out(1) << "creating xanaGeantEventBranch  .."<<endl; 
00201    xanaGeantEventBranch_ = 
00202    xanaEsdTree_->Branch("GeantEvent.","XANAGeantEvent",&xanaGeantEvent_,bufferSizeValue,splitMode_.value());
00203    xana::out(1) << "xanaGeantEventBranch  branch created .."<<endl; 
00204 
00205    // create links between generator-geant event and ESD-geant Event
00206    xanaGeantEvent_->addGeneratorEvent(xanaGenEvent_);
00207    xanaGeantEvent_->addEsdEvent(xanaEsdEvent_);
00208 
00209   //CC is this still needed?   
00210    ciso_ = Singleton<IsoCalculator>::instance();
00211 
00212 }

XANAEsdBuilder::~XANAEsdBuilder  ) 
 

Definition at line 215 of file writeESD.cpp.

References memlog_, xana::out(), XANAMemLog::writeHistogram(), xanaEsdFile_, xanaEsdTree_, and xanamemlog_.

00216 {
00217    
00218   xana::out(1) << "Deleting XANAEsdBuilder" << std::endl;  
00219   xanaEsdFile_->Write();
00220   xanaEsdTree_->Print();
00221   delete xanaEsdFile_;
00222   if (memlog_) xanamemlog_->writeHistogram();
00223 
00224 }


Member Function Documentation

std::string XANAEsdBuilder::getAlgoName int   )  [protected]
 

Definition at line 422 of file writeESD.cpp.

Referenced by setEmClusters().

00422                                               {
00423 
00424   if (algo==1) return std::string("EgammaBasicIsland");
00425   else if (algo>=100) return std::string("EgammaBasicHybrid");
00426   else return std::string("");
00427 
00428 }      

void XANAEsdBuilder::setAllTrackHits G3EventProxy *   )  [protected]
 

Referenced by upDate().

void XANAEsdBuilder::setCaloRecHits G3EventProxy *   )  [protected]
 

Referenced by upDate().

void XANAEsdBuilder::setElectrons G3EventProxy *   )  [protected]
 

Definition at line 502 of file writeESDForFAMOS.cpp.

References XANAEsdEvent::addElectronCandidate(), XANAEsdEvent::addElectronSeed(), XANAEsdEvent::addElectronSuperCluster(), ciso_, electrons, electrons, endcapSuperClusterizerName_, XANAElectronTools::etaTransformation(), XANATrack::getCharge(), XANATrack::getMomentumAtFirstPoint(), XANATrack::getPositionAtFirstPoint(), nbElectrons_, xana::out(), XANAElectronTools::phiTransformation(), XANAElectronSeed::setAlgoName(), XANASuperCluster::setAlgoName(), XANAElectronCandidate::setAlgoName(), XANASuperCluster::setCaloIsolation(), XANAElectronCandidate::setCaloIsolation(), XANAElectronCandidate::setDeltaEtaSeedClusterAtCalo(), XANAElectronCandidate::setDeltaEtaSuperClusterAtCalo(), XANAElectronCandidate::setDeltaEtaSuperClusterAtVtx(), XANAElectronCandidate::setDeltaPhiSeedClusterAtCalo(), XANAElectronCandidate::setDeltaPhiSuperClusterAtCalo(), XANAElectronCandidate::setDeltaPhiSuperClusterAtVtx(), XANAElectronSeed::setDirection(), XANASuperCluster::setDisc1(), XANASuperCluster::setDisc2(), XANASuperCluster::setDisc3(), XANAEsdEvent::setElectronTrack(), XANASuperCluster::setEnergy(), XANASuperCluster::setEnergyScaleFactor(), XANAElectronCandidate::setESeedClusterOverP(), XANAElectronCandidate::setESuperClusterOverP(), XANASuperCluster::setHadronicOverEm(), XANAElectronCandidate::setHadronicOverEm(), XANAElectronSeed::setMomentumAtFirstPoint(), XANAElectronSeed::setMomentumAtLastPoint(), XANAElectronCandidate::setMomentumAtVertex(), XANAElectronSeed::setNumberOfHits(), XANASuperCluster::setPosition(), XANATrack::setPositionAtFirstPoint(), XANAElectronSeed::setPositionAtFirstPoint(), XANATrack::setPositionAtLastPoint(), XANAElectronSeed::setPositionAtLastPoint(), XANASuperCluster::setPositionCovarianceMatrix(), XANASuperCluster::setSum1(), XANASuperCluster::setSum25(), XANASuperCluster::setSum4(), XANASuperCluster::setSum9(), XANAElectronCandidate::setSuperClusterEnergy(), XANAElectronCandidate::setSuperClusterMomentum(), XANAElectronCandidate::setSuperClusterPosition(), XANAElectronCandidate::setTrackIsolation(), XANAElectronCandidate::setTrackMomentumAtCalo(), XANAElectronCandidate::setTrackPositionAtCalo(), superClusterizerName_, and xanaEsdEvent_.

Referenced by XANAEsdBuilderForFAMOS::upDate(), and upDate().

00503 {
00504      
00505   xana::out(2) << "[update] electrons " << std::endl;
00506 
00507   RecCollection<ElectronCandidate> electrons(RecQuery("EGFElectron","1.0"));
00508   RecCollection<ElectronCandidate>::const_iterator electron;
00509   xana::out(5) << "[update] "<<electrons.size()<<" EGFElectron found " << std::endl;
00510   XANAElectronCandidate *xElectron;
00511   nbElectrons_=0;
00512   for (electron=electrons.begin(); electron!=electrons.end(); electron++) {
00513     nbElectrons_++ ;
00514     xana::out(1)<<"[OVAL] new electron "<<std::endl ;
00515     xElectron = new XANAElectronCandidate(); 
00516 
00517     // printing electron quantities from ElectronCandidate
00518     xana::out(8)<<"[OVAL] electron super cluster energy "<<electron->SCE()<<std::endl ;
00519     xana::out(8)<<"[OVAL] electron track px "<<electron->TRPx()<<std::endl ;
00520     xana::out(8)<<"[OVAL] electron track py "<<electron->TRPy()<<std::endl ;
00521     xana::out(8)<<"[OVAL] electron track pz "<<electron->TRPz()<<std::endl ;
00522     xana::out(8)<<"[OVAL] electron super cluster Et "<<electron->SCEt()<<std::endl ;
00523     xana::out(8)<<"[OVAL] electron super cluster eta "<<electron->SCEta()<<std::endl ;
00524     xana::out(8)<<"[OVAL] electron super cluster phi "<<electron->SCPhi()<<std::endl ;
00525     xana::out(8)<<"[OVAL] electron track eta "<<electron->TREta()<<std::endl ;
00526     xana::out(8)<<"[OVAL] electron track phi "<<electron->TRPhi()<<std::endl ;
00527     xana::out(8)<<"[OVAL] electron e/p "<<electron->ele_EoP()<<std::endl ;
00528     xana::out(8)<<"[OVAL] electron delta eta "<<electron->DeltaEta()<<std::endl ;
00529 
00530     const TTrack * eltrack=electron->GetTRElectron();
00531     const EgammaVSuperCluster *sc=electron->GetEGCandidate()->data();
00532     // calculate from sc and track
00533     HepPoint3D superClusterPosition;
00534     if (sc) {
00535       const EgammaCluster *seed = sc->seed();
00536 
00537       float superClusterEnergy = sc->energy();; 
00538       xana::out(8)<<"[OVAL] written electron super cluster energy "<<superClusterEnergy<<std::endl ;
00539       xElectron->setSuperClusterEnergy(superClusterEnergy);
00540       float theta = sc->theta();
00541       float x = sc->radius()*sin(theta)*cos(sc->phi());
00542       float y = sc->radius()*sin(theta)*sin(sc->phi());
00543       float z = sc->radius()*cos(theta);
00544       superClusterPosition=HepPoint3D(x,y,z);
00545       xana::out(8)<<"[OVAL] written electron super cluster position "<<superClusterPosition<<std::endl ;
00546       xElectron->setSuperClusterPosition(superClusterPosition);
00547       HepLorentzVector momentum;
00548       momentum.setPx(eltrack->momentumAtVertex().x());   
00549       momentum.setPy(eltrack->momentumAtVertex().y());   
00550       momentum.setPz(eltrack->momentumAtVertex().z());   
00551       momentum *= electron->SCE() / eltrack->momentumAtVertex().mag();
00552       momentum.setE(superClusterEnergy);        
00553       xana::out(8)<<"[OVAL] written electron momentum at vertex "<<momentum<<std::endl ;
00554       xElectron->setMomentumAtVertex(momentum); 
00555 
00556       // extrapolations from last track point
00557       TrajectoryStateOnSurface last = eltrack->outermostState(); 
00558       if (!last.isValid())
00559         throw Genexception("[writeESDForFamos::update], invalid tsos") ;
00560       // use 3D impactPointExtrapolator
00561       ImpactPointExtrapolator theExtrapolator ;
00562       // and an analytical (helix) propagator with material effect
00563       const MultipleScatteringUpdator aElectronMaterialEffectUpdator(0.000511);
00564       AnalyticalPropagator *ap = new AnalyticalPropagator(alongMomentum);
00565       PropagatorWithMaterial *thePropagator = new PropagatorWithMaterial(*(ap),aElectronMaterialEffectUpdator);
00566       delete ap;
00567 
00568       // extrapolation to super cluster
00569       GlobalPoint pos(x, y, z) ;
00570       TrajectoryStateOnSurface tssuper =
00571         theExtrapolator.extrapolate(*last.freeTrajectoryState(), pos, *thePropagator) ;  
00572       if (!tssuper.isValid()) tssuper=last;
00573       HepLorentzVector *trackMomentumAtCalo=new HepLorentzVector(tssuper.globalMomentum().x(),tssuper.globalMomentum().y(),tssuper.globalMomentum().z(),tssuper.globalMomentum().mag());
00574       xana::out(8)<<"[OVAL] written track momentum at super cluster "<<*trackMomentumAtCalo<<std::endl ;
00575       xElectron->setTrackMomentumAtCalo(*trackMomentumAtCalo);
00576       HepPoint3D *trackPositionAtCalo=new HepPoint3D(tssuper.globalPosition().x(),tssuper.globalPosition().y(),tssuper.globalPosition().z());
00577       xana::out(8)<<"[OVAL] written track position at super cluster "<<*trackPositionAtCalo<<std::endl ;
00578       xElectron->setTrackPositionAtCalo(*trackPositionAtCalo);
00579 
00580       float eSuperClusterOverP = -1.;   
00581       if (trackMomentumAtCalo->e()>0.) eSuperClusterOverP = superClusterEnergy / trackMomentumAtCalo->e();
00582       xana::out(8)<<"[OVAL] written E super cluster / p "<<eSuperClusterOverP<<std::endl ;
00583       xElectron->setESuperClusterOverP(eSuperClusterOverP);
00584       delete trackMomentumAtCalo;
00585 
00586       float deta = superClusterPosition.pseudoRapidity() - trackPositionAtCalo->pseudoRapidity();
00587       xana::out(8)<<"[OVAL] written deta (super - track) "<<deta<<std::endl ;
00588       xElectron->setDeltaEtaSuperClusterAtCalo(deta);
00589       float dphi=superClusterPosition.phi()-trackPositionAtCalo->phi();
00590       if (fabs(dphi) > pi) dphi = dphi < 0 ? 2.*pi + dphi : dphi - 2.*pi ;
00591       xana::out(8)<<"[OVAL] written dphi (super - track) "<<dphi<<std::endl ;
00592       xElectron->setDeltaPhiSuperClusterAtCalo(dphi);
00593       delete trackPositionAtCalo;
00594 
00595       // extrapolation to seed cluster
00596       Float_t thetas=2.0*atan(exp(-1*seed->Eta()));
00597       Float_t seedx=seed->Radius()*cos(seed->Phi())*sin(thetas);
00598       Float_t seedy=seed->Radius()*sin(seed->Phi())*sin(thetas);
00599       Float_t seedz=seed->Radius()*cos(thetas);
00600       GlobalPoint seedpos(seedx, seedy, seedz) ;
00601       TrajectoryStateOnSurface tsseed =
00602         theExtrapolator.extrapolate(*last.freeTrajectoryState(), seedpos, *thePropagator) ;  
00603       delete thePropagator;
00604       if (!tsseed.isValid()) tsseed=last;
00605       HepPoint3D *trackPositionAtSeed=new HepPoint3D(tsseed.globalPosition().x(),tsseed.globalPosition().y(),tsseed.globalPosition().z());
00606 
00607       float eSeedClusterOverP= -1. ;
00608       float thetaseed = 2.*atan(exp(-seed->Eta()));     
00609       float seedEnergy = 0.;
00610       if (thetaseed != 0.) seedEnergy = seed->Et() / sin(thetaseed) ;
00611       if( tsseed.globalMomentum().mag() > 0.) eSeedClusterOverP = seedEnergy / tsseed.globalMomentum().mag();
00612       xana::out(8)<<"[OVAL] written E seed cluster / p "<<eSeedClusterOverP<<std::endl ;
00613       xElectron->setESeedClusterOverP(eSeedClusterOverP);
00614 
00615       deta = seed->Eta() - trackPositionAtSeed->pseudoRapidity();
00616       xana::out(8)<<"[OVAL] written deta (seed - track) "<<deta<<std::endl ;
00617       xElectron->setDeltaEtaSeedClusterAtCalo(deta);
00618       dphi=seed->Phi()-trackPositionAtSeed->phi();
00619       if (fabs(dphi) > pi) dphi = dphi < 0 ? 2.*pi + dphi : dphi - 2.*pi ;
00620       xana::out(8)<<"[OVAL] written dphi (seed - track) "<<dphi<<std::endl ;
00621       xElectron->setDeltaPhiSeedClusterAtCalo(dphi);
00622       delete trackPositionAtSeed;
00623 
00624       // super cluster momentum, assuming perfect helix and vertex at origin
00625       GlobalPoint assumedVertex(0.,0.,0.);
00626       GlobalPoint measuredPoint(superClusterPosition.x(), superClusterPosition.y(), superClusterPosition.z()) ;                                             
00627       FTSFromVertexToPointFactory ftsFactory;
00628       FreeTrajectoryState ftsAtCalo = 
00629         ftsFactory(measuredPoint,assumedVertex,superClusterEnergy,eltrack->charge());
00630       HepLorentzVector superClusterMomentum;
00631       superClusterMomentum.setPx(ftsAtCalo.momentum().x());   
00632       superClusterMomentum.setPy(ftsAtCalo.momentum().y());   
00633       superClusterMomentum.setPz(ftsAtCalo.momentum().z());   
00634       superClusterMomentum.setE(superClusterEnergy);    
00635       xana::out(8)<<"[OVAL] written super cluster momentum  "<<superClusterMomentum<<std::endl ;
00636       xElectron->setSuperClusterMomentum(superClusterMomentum);
00637 
00638       float caloIsolation = ciso_->getIso(sc->eta(),sc->phi());
00639       xElectron->setCaloIsolation(caloIsolation);
00640     }
00641     int isTrackIsolated = electron->TRisISO();
00642     xElectron->setTrackIsolation(isTrackIsolated);
00643     float hadronicOverEm = electron->ele_HoE();
00644     xElectron->setHadronicOverEm(hadronicOverEm);
00645 
00646     xElectron->setAlgoName("EgammaCandidate");
00647 
00648     xana::out(2) << "[update] adding electron candidate No " << nbElectrons_ << std::endl;
00649     xanaEsdEvent_->addElectronCandidate(xElectron); 
00650 
00651     if (sc) {
00652       XANASuperCluster *xscluster=new XANASuperCluster();
00653       xscluster->setEnergy(sc->energy()); 
00654       xscluster->setPosition(sc->position()); 
00655       xscluster->setSum1(sc->seed()->getS1()); 
00656       xscluster->setSum4(sc->seed()->getS4()); 
00657       xscluster->setSum9(sc->seed()->getS9()); 
00658       xscluster->setSum25(sc->seed()->getS25()); 
00659       xscluster->setHadronicOverEm(sc->seed()->getHoe());
00660       // iso not available from endcap super clusters
00661       // compute from IsoCalculator
00662       float iso = ciso_->getIso(sc->eta(),sc->phi());
00663       xscluster->setCaloIsolation(iso); 
00664       xscluster->setDisc1(sc->seed()->getDisc1()); 
00665       xscluster->setDisc2(sc->seed()->getDisc2()); 
00666       xscluster->setDisc3(sc->seed()->getDisc3()); 
00667       HepSymMatrix cov(2);
00668       cov(1,1) = sc->seed()->getCovEE();
00669       cov(1,2) = sc->seed()->getCovEP();
00670       cov(2,2) = sc->seed()->getCovPP();
00671       xscluster->setPositionCovarianceMatrix(cov);
00672       xscluster->setEnergyScaleFactor(sc->energy()/sc->energyUncorrected());
00673       if ( fabs(sc->seed()->Eta())<1.4791 ) xscluster->setAlgoName(superClusterizerName_.value());
00674       else xscluster->setAlgoName(endcapSuperClusterizerName_.value());
00675       xanaEsdEvent_->addElectronSuperCluster(xscluster,xElectron);
00676       delete xscluster;
00677     }
00678 
00679 
00680       // electron seed
00681       XANAElectronSeed *xelseed= new XANAElectronSeed();
00682       const EPHLTElectronSeed * trseed = dynamic_cast<const EPHLTElectronSeed *>(&eltrack->seed().basicSeed()); 
00683       Short_t dir = 1;
00684       if (trseed->direction() == "oppositeToMomentum") dir = -1;
00685       xelseed->setDirection(dir);
00686       xelseed->setNumberOfHits(trseed->measurements().size());
00687       TrajectoryStateOnSurface tsseedfirst =
00688         trseed->measurements()[0].updatedState();
00689       HepPoint3D seedPositionAtFirst(tsseedfirst.globalPosition().x(),tsseedfirst.globalPosition().y(),
00690                                      tsseedfirst.globalPosition().z()); 
00691       HepVector3D seedMomentumAtFirst(tsseedfirst.globalMomentum().x(),tsseedfirst.globalMomentum().y(),
00692                                       tsseedfirst.globalMomentum().z());
00693       xelseed->setMomentumAtFirstPoint(seedMomentumAtFirst);
00694       xelseed->setPositionAtFirstPoint(seedPositionAtFirst);      
00695       TrajectoryStateOnSurface tsseedlast =
00696         trseed->measurements()[trseed->measurements().size()-1].updatedState();
00697       HepPoint3D seedPositionAtLast(tsseedlast.globalPosition().x(),tsseedlast.globalPosition().y(),
00698                                     tsseedlast.globalPosition().z()); 
00699       HepVector3D seedMomentumAtLast(tsseedlast.globalMomentum().x(),tsseedlast.globalMomentum().y(),
00700                                      tsseedlast.globalMomentum().z());
00701       xelseed->setMomentumAtLastPoint(seedMomentumAtLast);
00702       xelseed->setPositionAtLastPoint(seedPositionAtLast);
00703       xelseed->setAlgoName("Egammadefault");
00704 
00705       // we need an electron track just filled to make operator== work
00706       XANAElectronTrack *xTrack=new XANAElectronTrack;
00707       TrajectoryStateOnSurface tsi = eltrack->innermostState() ;
00708       TrajectoryStateOnSurface tso = eltrack->outermostState() ;
00709       HepPoint3D firstHit(tsi.globalPosition().x(),tsi.globalPosition().y(),
00710                           tsi.globalPosition().z()); 
00711       HepPoint3D lastHit(tso.globalPosition().x(),tso.globalPosition().y(),
00712                          tso.globalPosition().z()); 
00713       xTrack->setPositionAtFirstPoint(firstHit);
00714       xTrack->setPositionAtLastPoint(lastHit);
00715       
00716       float detavtx = superClusterPosition.pseudoRapidity() - XANAElectronTools::etaTransformation(xTrack->getMomentumAtFirstPoint().pseudoRapidity(),
00717                                                                                                 xTrack->getPositionAtFirstPoint().z(),xTrack->getPositionAtFirstPoint().perp()); 
00718       xElectron->setDeltaEtaSuperClusterAtVtx(detavtx);
00719       float dphivtx=superClusterPosition.phi()-XANAElectronTools::phiTransformation(xTrack->getMomentumAtFirstPoint().perp(),xTrack->getMomentumAtFirstPoint().pseudoRapidity(), 
00720                                                                          xTrack->getMomentumAtFirstPoint().phi(), xTrack->getCharge(),xTrack->getPositionAtFirstPoint().perp());
00721       if (fabs(dphivtx) > pi) dphivtx = dphivtx < 0 ? 2.*pi + dphivtx : dphivtx - 2.*pi ;
00722       xElectron->setDeltaPhiSuperClusterAtVtx(dphivtx);
00723       
00724       xanaEsdEvent_->addElectronSeed(xelseed,xTrack);
00725       xanaEsdEvent_->setElectronTrack(xTrack,xElectron);
00726       delete xelseed;
00727       delete xTrack;
00728  
00729       delete xElectron;
00730   }
00731 }

void XANAEsdBuilder::setElectronsGSF G3EventProxy *   )  [protected]
 

Referenced by upDate().

void XANAEsdBuilder::setElectronsGSFPixelMatch G3EventProxy *   )  [protected]
 

Referenced by upDate().

void XANAEsdBuilder::setElectronsZZVertex G3EventProxy *   )  [protected]
 

Referenced by upDate().

void XANAEsdBuilder::setElectronTracks G3EventProxy *   )  [protected]
 

Definition at line 943 of file writeESDForFAMOS.cpp.

References XANAEsdEvent::addElectronTrack(), xana::out(), XANATrack::setAlgoName(), XANATrack::setCharge(), XANATrack::setChi2OverDof(), setEleTrackHits(), XANATrack::setImpactParameter(), XANATrack::setLongImpactParameter(), XANATrack::setMomentumAtFirstPoint(), XANATrack::setMomentumAtLastPoint(), XANATrack::setMomentumAtVertex(), XANATrack::setNumberOfHits(), XANATrack::setNumberOfLostHits(), XANATrack::setPositionAtFirstPoint(), XANATrack::setPositionAtLastPoint(), XANATrack::setTransImpactParameter(), tracks, tracks, writeEleTrackHits_, and xanaEsdEvent_.

Referenced by XANAEsdBuilderForFAMOS::upDate(), and upDate().

00944 {// fill electron track container for normal electron tracks
00945 //  RecCollection<TTrack> tracks( RecQuery("EPTracks","1.0"));
00946   RecCollection<TTrack> tracks( RecQuery("EPFTracks","1.0"));
00947   RecCollection<TTrack>::const_iterator eltrack;
00948   xana::out(5) << "[update] "<<tracks.size()<<" electron tracks found " << std::endl;
00949   for (eltrack=tracks.begin(); eltrack!=tracks.end(); eltrack++) {
00950     XANAElectronTrack *xTrack = new XANAElectronTrack;
00951     TrajectoryStateOnSurface tsi = eltrack->innermostState() ;
00952     TrajectoryStateOnSurface tso = eltrack->outermostState() ;
00953     HepVector3D momentumAtVertex(eltrack->momentumAtVertex().x(), 
00954                                  eltrack->momentumAtVertex().y(),eltrack->momentumAtVertex().z());
00955     HepPoint3D firstHit(tsi.globalPosition().x(),tsi.globalPosition().y(),
00956                         tsi.globalPosition().z()); 
00957     HepVector3D momentumAtFirst(tsi.globalMomentum().x(),tsi.globalMomentum().y(),
00958                                   tsi.globalMomentum().z());
00959       HepPoint3D lastHit(tso.globalPosition().x(),tso.globalPosition().y(),
00960                          tso.globalPosition().z()); 
00961       HepVector3D momentumAtLast(tso.globalMomentum().x(),tso.globalMomentum().y(),
00962                                  tso.globalMomentum().z());
00963       xTrack->setCharge(eltrack->charge()); 
00964       xTrack->setChi2OverDof(eltrack->normalisedChiSquared());
00965       xTrack->setNumberOfHits(eltrack->foundHits());
00966       xTrack->setNumberOfLostHits(eltrack->lostHits());
00967       xTrack->setImpactParameter(eltrack->impactParameter3D().value());
00968       xTrack->setLongImpactParameter(eltrack->zImpactParameter().value());
00969       xTrack->setTransImpactParameter(eltrack->transverseImpactParameter().value());
00970       xTrack->setMomentumAtVertex(momentumAtVertex);
00971       xTrack->setPositionAtFirstPoint(firstHit);
00972       xTrack->setMomentumAtFirstPoint(momentumAtFirst);
00973       xTrack->setPositionAtLastPoint(lastHit);
00974       xTrack->setMomentumAtLastPoint(momentumAtLast);
00975       xTrack->setAlgoName("EPFTrack"); 
00976       //      xanaEsdEvent_->addElectronTrack(xTrack,xElectron);
00977       xanaEsdEvent_->addElectronTrack(xTrack);
00978 
00979       // hits (if requested)
00980       // must be done after having added electron track!
00981       if (writeEleTrackHits_) {
00982         std::vector<TrajectoryMeasurement> MyEleTrMeas = eltrack->measurements();
00983         setEleTrackHits(MyEleTrMeas,xTrack);
00984       }
00985       delete xTrack;
00986   }
00987 }

void XANAEsdBuilder::setEleTrackHits std::vector< TrajectoryMeasurement >  ,
XANAElectronTrack
[protected]
 

Definition at line 340 of file writeESD.cpp.

References XANAEsdEvent::addEleTrackHit(), xana::out(), XANATrackHit::setIsBarrel(), XANATrackHit::setIsStereo(), and xanaEsdEvent_.

Referenced by setElectronTracks().

00341 {
00342   // add electron track hits for this track, if asked for
00343 
00344   //     std::vector<TrajectoryMeasurement> MyEleTrMeas = eltrack->measurements();
00345      std::vector<TrajectoryMeasurement>::const_iterator IterEleTrMeas;
00346 
00347      xana::out(2) << "[update] adding electronic track hits " << std::endl; 
00348      xana::out(2) << "[update] number of measurements " <<MyEleTrMeas.size() << std::endl;
00349      //     xana::out(2) << "[update] number of valid hits "<<eltrack->foundHits()<< std::endl;
00350 
00351      XANATrackHit *elethit=0;
00352      int nbhits=0;
00353      for (IterEleTrMeas=MyEleTrMeas.begin(); IterEleTrMeas!=MyEleTrMeas.end(); IterEleTrMeas++)
00354        {
00355         // taking the rec hit 
00356         RecHit IterEleRecHit = IterEleTrMeas->recHit();                
00357         // checking if it is valid or not  
00358         if( !(IterEleRecHit.isValid()) ){xana::out(2) << "[update] non valid hit" << std::endl;}
00359 
00360         // taking the updated state 
00361         TrajectoryStateOnSurface IterEleTSN = IterEleTrMeas->updatedState();                
00362         // checking if it is valid or not  
00363         if( !(IterEleTSN.isValid()) ){xana::out(2) << "[update] non valid updated state" << std::endl;}
00364 
00365 
00366         // analysis only if both are valid 
00367         if (!(IterEleRecHit.isValid()) && (IterEleTSN.isValid())){xana::out(2)<<"[update] non valid hit but valid updated state"<< std::endl;}
00368         if ((IterEleRecHit.isValid()) && !(IterEleTSN.isValid())){xana::out(2)<<"[update] non valid updated state but valid hit"<< std::endl;}
00369         if(  IterEleRecHit.isValid() && IterEleTSN.isValid() )
00370         {
00371           HepPoint3D elehitposition( (IterEleRecHit).globalPosition().x(), 
00372                                      (IterEleRecHit).globalPosition().y(), 
00373                                      (IterEleRecHit).globalPosition().z());
00374 
00375           HepPoint3D eleupdposition( (IterEleTSN).globalPosition().x(),
00376                                      (IterEleTSN).globalPosition().y(),
00377                                      (IterEleTSN).globalPosition().z());
00378 
00379           HepVector3D eleupdmomentum( (IterEleTSN).globalMomentum().x(),
00380                                       (IterEleTSN).globalMomentum().y(),
00381                                       (IterEleTSN).globalMomentum().z());
00382 
00383           elethit = new XANATrackHit( elehitposition, eleupdposition, eleupdmomentum ); 
00384           elethit->setIsStereo((IterEleRecHit).det().detUnits().front()->type().isStereo());
00385           Bool_t isBarrel = (((IterEleRecHit).det().detUnits().front()->type().part() == barrel) ? true : false);
00386           elethit->setIsBarrel(isBarrel);
00387 
00388             xana::out(1) << "[update] ELE - NEW STEP" << std::endl; 
00389             xana::out(1) << "[update] new hit" << std::endl;    
00390             xana::out(1) << (IterEleRecHit).globalPosition().x() << std::endl;     
00391             xana::out(1) << (IterEleRecHit).globalPosition().y() << std::endl;          
00392             xana::out(1) << (IterEleRecHit).globalPosition().z() << std::endl;          
00393             xana::out(1) << "[update] new updated state: position" << std::endl;        
00394             xana::out(1) << (IterEleTSN).globalPosition().x() << std::endl;     
00395             xana::out(1) << (IterEleTSN).globalPosition().y() << std::endl;     
00396             xana::out(1) << (IterEleTSN).globalPosition().z() << std::endl;     
00397             xana::out(1) << "[update] new updated state: momentum" << std::endl;        
00398             xana::out(1) << (IterEleTSN).globalMomentum().x() << std::endl;     
00399             xana::out(1) << (IterEleTSN).globalMomentum().y() << std::endl;     
00400             xana::out(1) << (IterEleTSN).globalMomentum().z() << std::endl;     
00401 
00402           xanaEsdEvent_->addEleTrackHit(elethit, xTrack);           
00403           ++nbhits;
00404           delete elethit;
00405 
00406        } // valid hit and upd state
00407        } // loop on measurements
00408      xana::out(2) << "[update] number of hits that were added "<<nbhits<< std::endl;
00409 }

void XANAEsdBuilder::setEmClusters G3EventProxy *   )  [protected]
 

Definition at line 251 of file writeESDForFAMOS.cpp.

References XANAEsdEvent::addEmCluster(), XANAEsdEvent::addEmClusterHit(), clusterizedCaloRecHits_, clusterizedCells_, clusterizerName_, clusters, clusters, getAlgoName(), xana::out(), and xanaEsdEvent_.

Referenced by XANAEsdBuilderForFAMOS::upDate(), and upDate().

00252 {
00253   xana::out(2) << "[update] em clusters " << std::endl;
00254   
00255   RecCollection<EgammaBasicCluster> clusters (RecQuery("EGBFCluster","1.0"));
00256   RecCollection<EgammaBasicCluster> ::const_iterator cluster ;
00257   xana::out(5) << "[update] " << clusters.size() << " " << clusterizerName_.value() <<" clusters found." << std::endl;
00258   XANAEmCluster *xcluster;
00259   clusterizedCaloRecHits_.clear();
00260   xana::out(2) << "[update] before cluster loop " << std::endl;     
00261   for (cluster=clusters.begin(); cluster!=clusters.end(); cluster++) {
00262     // hybrid is algo>=100   
00263  // ORIGINAL
00264      if ( (cluster->whichAlgo()>99 && fabs(cluster->eta())>1.4791) || 
00265       (cluster->whichAlgo()<99 && fabs(cluster->eta())<1.4791) ) continue;
00266  // MODIF CARO : ISLAND Partout
00267  //   if ( (cluster->whichAlgo()>99 && fabs(cluster->eta())>1.4791) || 
00268  //      (cluster->whichAlgo()>99 && fabs(cluster->eta())<1.4791) ) continue;
00269     xana::out(2) << "[update] creating new xanacluster "<< std::endl;
00270     xana::out(2) << "[update] cluster algoName is  "<< clusterizerName_.value() << " " << getAlgoName(cluster->whichAlgo())<<std::endl;
00271     HepPoint3D uncorrectedPositionAtFrontFace(0.,0.,0.);
00272     float esum=0;
00273     std::vector<const CaloRecHit *> rhits=cluster->rHits();
00274     for (std::vector<const CaloRecHit *>::const_iterator
00275            it=rhits.begin(); it != rhits.end(); it++) {
00276       esum +=   (*it)->energy();   
00277       uncorrectedPositionAtFrontFace += (*it)->energy() * (*it)->getMyCell().position();   
00278     }
00279     if (esum != 0.) uncorrectedPositionAtFrontFace /= esum ;
00280     xcluster = new XANAEmCluster(cluster->energy(), cluster->position(),
00281                                  uncorrectedPositionAtFrontFace,
00282                                  cluster->chi2(),clusterizerName_.value());
00283     xana::out(2) << "[update] adding cluster " << std::endl;
00284     xanaEsdEvent_->addEmCluster(xcluster);
00285     for (std::vector<const CaloRecHit *>::const_iterator
00286            it=rhits.begin(); it != rhits.end(); it++) {
00287       XANACaloRecHit *xhit = new XANACaloRecHit((*it)->energy(), (*it)->time(),
00288                                                 (*it)->chi2(), XANACellID((*it)->getMyCell().position()));
00289       xanaEsdEvent_->addEmClusterHit(xhit, xcluster);
00290       clusterizedCaloRecHits_.insert(pair<CellID,XANACaloRecHit>((*it)->getMyCell(),*xhit));
00291       clusterizedCells_.push_back((*it)->getMyCell());
00292       delete xhit;
00293     } 
00294     delete xcluster;
00295   }
00296 
00297 }

void XANAEsdBuilder::setEndcapClusters G3EventProxy *   )  [protected]
 

Definition at line 398 of file writeESDForFAMOS.cpp.

References XANAEsdEvent::addBremCluster(), XANAEsdEvent::addSeedCluster(), XANAEsdEvent::addSuperCluster(), ciso_, clusterizerName_, endcapSuperClusterizerName_, endcapSuperClusters, XANACluster::getEnergy(), xana::out(), XANASuperCluster::setAlgoName(), XANASuperCluster::setCaloIsolation(), XANASuperCluster::setDisc1(), XANASuperCluster::setDisc2(), XANASuperCluster::setDisc3(), XANASuperCluster::setEnergy(), XANASuperCluster::setEnergyScaleFactor(), XANASuperCluster::setHadronicOverEm(), XANASuperCluster::setPosition(), XANASuperCluster::setPositionCovarianceMatrix(), XANASuperCluster::setSum1(), XANASuperCluster::setSum25(), XANASuperCluster::setSum4(), XANASuperCluster::setSum9(), and xanaEsdEvent_.

Referenced by XANAEsdBuilderForFAMOS::upDate(), and upDate().

00399 {
00400            
00401   xana::out(2) << "[update] endcap superclusters " << std::endl;
00402   
00403   XANASuperCluster *xscluster;    
00404   RecCollection<EgammaEndcapCluster> endcapSuperClusters(RecQuery("EGEFCluster","1.0"));
00405   RecCollection<EgammaEndcapCluster>::const_iterator endcapSuperCluster ;
00406   xana::out(5) << "[update] " << endcapSuperClusters.size() << endcapSuperClusterizerName_.value() << " endcapSuperClusters found." << std::endl;
00407   for (endcapSuperCluster=endcapSuperClusters.begin(); endcapSuperCluster!=endcapSuperClusters.end(); endcapSuperCluster++) {
00408     //    nbClusters_++;
00409     xana::out(2) << "[update] constructing new supercluster from algo " << endcapSuperCluster->seed()->WhichAlgo()
00410               << " at eta " << endcapSuperCluster->eta() << " with energy " <<
00411       endcapSuperCluster->energy() << std::endl;
00412     xscluster = new XANASuperCluster;
00413     xscluster->setEnergy(endcapSuperCluster->energy()); 
00414     xscluster->setPosition(endcapSuperCluster->position()); 
00415     xscluster->setSum1(endcapSuperCluster->seed()->getS1()); 
00416     xscluster->setSum4(endcapSuperCluster->seed()->getS4()); 
00417     xscluster->setSum9(endcapSuperCluster->seed()->getS9()); 
00418     xscluster->setSum25(endcapSuperCluster->seed()->getS25()); 
00419     xscluster->setHadronicOverEm(endcapSuperCluster->seed()->getHoe());
00420     // iso not available from endcap super clusters
00421     // compute from IsoCalculator
00422     float iso = ciso_->getIso(endcapSuperCluster->eta(),endcapSuperCluster->phi());
00423     xscluster->setCaloIsolation(iso); 
00424     xscluster->setDisc1(endcapSuperCluster->seed()->getDisc1()); 
00425     xscluster->setDisc2(endcapSuperCluster->seed()->getDisc2()); 
00426     xscluster->setDisc3(endcapSuperCluster->seed()->getDisc3()); 
00427     HepSymMatrix cov(2);
00428     cov(1,1) = endcapSuperCluster->seed()->getCovEE();
00429     cov(1,2) = endcapSuperCluster->seed()->getCovEP();
00430     cov(2,2) = endcapSuperCluster->seed()->getCovPP();
00431     xscluster->setPositionCovarianceMatrix(cov);
00432     xscluster->setEnergyScaleFactor(endcapSuperCluster->energy()/endcapSuperCluster->energyUncorrected());
00433     xana::out(2) << "[update] supercluster algoName is " << endcapSuperClusterizerName_.value() << std::endl;
00434     xscluster->setAlgoName(endcapSuperClusterizerName_.value());
00435     xana::out(2) << "[update] adding super cluster " << std::endl;
00436     xanaEsdEvent_->addSuperCluster(xscluster);
00437 
00438     // add seed basic cluster
00439     // the seed is the first in BasicClusters list
00440     EgammaVSuperCluster::const_iterator icf = endcapSuperCluster->basicClusters().first;
00441     HepPoint3D uncorrectedPositionAtFrontFace(0.,0.,0.);
00442     float esum=0;
00443     std::vector<const CaloRecHit *> rhits=(*icf)->rHits();
00444     for (std::vector<const CaloRecHit *>::const_iterator
00445            it=rhits.begin(); it != rhits.end(); it++) {
00446       esum +=   (*it)->energy();   
00447       uncorrectedPositionAtFrontFace += (*it)->energy() * (*it)->getMyCell().position();   
00448     }
00449     if (esum != 0.) uncorrectedPositionAtFrontFace /= esum ;    
00450     XANAEmCluster *seed 
00451       = new XANAEmCluster((*icf)->energy(),
00452                           (*icf)->position(),
00453                           uncorrectedPositionAtFrontFace,
00454                           (*icf)->chi2(),
00455                           clusterizerName_.value()); 
00456     xana::out(2) << "[update] adding seed " << std::endl;
00457     xanaEsdEvent_->addSeedCluster(seed, xscluster);
00458     delete seed;
00459 
00460     //  // now add brems clusters
00461     xana::out(2) << "[update] adding brems " << std::endl;
00462     XANAEmCluster *brem = 0;
00463     // beware, the endcapSuperCluster::vector<EgammaBasicCluster> list includes the seed cluster
00464     EgammaVSuperCluster::const_iterator ic = endcapSuperCluster->basicClusters().first+1;
00465     for (;ic != endcapSuperCluster->basicClusters().second; ic++) {
00466       HepPoint3D uncorrectedPositionAtFrontFace(0.,0.,0.);
00467       esum=0;
00468       rhits=(*ic)->rHits();
00469       for (std::vector<const CaloRecHit *>::const_iterator
00470         it=rhits.begin(); it != rhits.end(); it++) {
00471         esum +=         (*it)->energy();   
00472         uncorrectedPositionAtFrontFace += (*it)->energy() * (*it)->getMyCell().position();   
00473       }
00474       if (esum != 0.) uncorrectedPositionAtFrontFace /= esum ;                
00475               brem = new XANAEmCluster((*ic)->energy(),
00476                                       (*ic)->position(),
00477                                       uncorrectedPositionAtFrontFace,
00478                                       (*ic)->chi2(),
00479                                       clusterizerName_.value());            
00480       xana::out(2) << "[upDate] brem energy " << brem->getEnergy() << std::endl;
00481       xanaEsdEvent_->addBremCluster(brem, xscluster);
00482       delete brem;
00483     } 
00484     //  finally add preshower info when relevant (endcap)
00485     xana::out(2) << "[update] adding presh info " << std::endl;
00486     //  XANAPreshowerInfo *preshowerInfo = 0;
00487     // FIXME: currently not stored
00488 //      if (endcapSuperCluster->energy_P1()+endcapSuperCluster->energy_P2() != 0. ) {
00489 //           cout << "[update] constructing a  XANAPreshowerInfo" << std::endl;
00490 //        preshowerInfo = new XANAPreshowerInfo(endcapSuperCluster->energy_P1(), 
00491 //         endcapSuperCluster->energy_P2(), endcapSuperCluster->position_P1(),
00492 //         endcapSuperCluster->position_P2(), endcapSuperCluster->calibP1(), endcapSuperCluster->calibP2(), 
00493 //         endcapSuperCluster->calibSC());
00494 //        xanaEsdEvent_->addPreshCluster(preshowerInfo, xscluster);
00495 //      } 
00496     delete xscluster;
00497   }
00498 
00499 }

void XANAEsdBuilder::setHadClusters G3EventProxy *   )  [protected]
 

Referenced by upDate().

void XANAEsdBuilder::setHeader G3EventProxy *   )  [protected]
 

Definition at line 240 of file writeESDForFAMOS.cpp.

Referenced by XANAEsdBuilderForFAMOS::upDate(), and upDate().

00241 {
00242 /*
00243   xana::out(8) << "[update] ============================  " << std::endl;
00244   xana::out(8) << "[update] Run #" << ev->simSignal()->id().runNumber() << "; ";
00245   xana::out(8) << " Event #" << ev->simSignal()->id().eventInRun() << std::endl;     
00246   xana::out(8) << "[update] ============================  " << std::endl;
00247   xanaEsdEvent_->setHeader(ev->simSignal()->id().runNumber(),ev->simSignal()->id().eventInRun());
00248 */
00249 }

void XANAEsdBuilder::setJets G3EventProxy *   )  [protected]
 

Referenced by upDate().

void XANAEsdBuilder::setMcTruth G3EventProxy *   )  [protected, virtual]
 

Reimplemented in XANAEsdBuilderForFAMOS.

Definition at line 940 of file writeESDForFAMOS.cpp.

Referenced by upDate().

00941 { }

void XANAEsdBuilder::setMet G3EventProxy *   )  [protected]
 

Referenced by upDate().

void XANAEsdBuilder::setMuons G3EventProxy *   )  [protected]
 

Referenced by upDate().

void XANAEsdBuilder::setPhotons G3EventProxy *   )  [protected]
 

Referenced by upDate().

void XANAEsdBuilder::setSuperClusters G3EventProxy *   )  [protected]
 

Definition at line 300 of file writeESDForFAMOS.cpp.

References XANAEsdEvent::addBremCluster(), XANAEsdEvent::addSeedCluster(), XANAEsdEvent::addSuperCluster(), clusterizerName_, XANACluster::getEnergy(), xana::out(), XANASuperCluster::setAlgoName(), XANASuperCluster::setCaloIsolation(), XANASuperCluster::setDisc1(), XANASuperCluster::setDisc2(), XANASuperCluster::setDisc3(), XANASuperCluster::setEnergy(), XANASuperCluster::setEnergyScaleFactor(), XANASuperCluster::setHadronicOverEm(), XANASuperCluster::setPosition(), XANASuperCluster::setPositionCovarianceMatrix(), XANASuperCluster::setSum1(), XANASuperCluster::setSum25(), XANASuperCluster::setSum4(), XANASuperCluster::setSum9(), superClusterizerName_, superClusters, superClusters, and xanaEsdEvent_.

Referenced by XANAEsdBuilderForFAMOS::upDate(), and upDate().

00301 {
00302            
00303   xana::out(2) << "[update] superclusters " << std::endl;
00304   
00305   // Barrel superclusters (Hybrid clustering algo chosen for the moment)
00306   RecQuery q1 = FastBasicReco::fastSCConfig();
00307   RecCollection<EgammaSuperCluster> superClusters(q1);
00308   RecCollection<EgammaSuperCluster>::const_iterator superCluster ; 
00309   xana::out(5) << "[update] " << superClusters.size() << superClusterizerName_.value() << " superclusters found." << std::endl;
00310   XANASuperCluster *xscluster;    
00311 
00312   for (superCluster=superClusters.begin(); superCluster!=superClusters.end(); superCluster++) {
00313 // ORIGINAL
00314     if ( (fabs(superCluster->eta())>1.4791) ||
00315        (superCluster->seed()->getBasicCluster()->whichAlgo()<99 &&
00316         fabs(superCluster->eta())<1.4791) ) continue;
00317 // MODIF CARO : ISLAND Partout!
00318 //    if ( (fabs(superCluster->eta())>1.4791) || 
00319 //       (superCluster->seed()->getBasicCluster()->whichAlgo()>99 && 
00320 //        fabs(superCluster->eta())<1.4791) ) continue;
00321     xana::out(2) << "[update] constructing new supercluster from algo " << superCluster->seed()->WhichAlgo()
00322               << " at eta " << superCluster->eta() << " with energy " <<superCluster->energy() << std::endl;
00323     xscluster = new XANASuperCluster;
00324     xscluster->setEnergy(superCluster->energy()); 
00325     xscluster->setPosition(superCluster->position()); 
00326     xscluster->setSum1(superCluster->seed()->getS1()); 
00327     xscluster->setSum4(superCluster->seed()->getS4()); 
00328     xscluster->setSum9(superCluster->seed()->getS9()); 
00329     xscluster->setSum25(superCluster->seed()->getS25()); 
00330     xscluster->setHadronicOverEm(superCluster->seed()->getHoe());
00331     xscluster->setCaloIsolation(superCluster->iso()); 
00332     xscluster->setDisc1(superCluster->seed()->getDisc1()); 
00333     xscluster->setDisc2(superCluster->seed()->getDisc2()); 
00334     xscluster->setDisc3(superCluster->seed()->getDisc3()); 
00335     HepSymMatrix cov(2);
00336     cov(1,1) = superCluster->seed()->getCovEE();
00337     cov(1,2) = superCluster->seed()->getCovEP();
00338     cov(2,2) = superCluster->seed()->getCovPP();
00339     xscluster->setPositionCovarianceMatrix(cov);
00340     xscluster->setEnergyScaleFactor(superCluster->energy()/superCluster->energyUncorrected());
00341     xana::out(2) << "[update] supercluster algoName is " << superClusterizerName_.value() << std::endl;
00342     xscluster->setAlgoName(superClusterizerName_.value());
00343     xana::out(2) << "[update] adding super cluster " << std::endl;
00344     xanaEsdEvent_->addSuperCluster(xscluster);
00345 
00346     // add seed basic cluster
00347     // the seed is the first in BasicClusters list
00348     EgammaVSuperCluster::const_iterator icf = superCluster->basicClusters().first;
00349     HepPoint3D uncorrectedPositionAtFrontFace(0.,0.,0.);
00350     float esum=0;
00351     std::vector<const CaloRecHit *> rhits=(*icf)->rHits();
00352     for (std::vector<const CaloRecHit *>::const_iterator
00353            it=rhits.begin(); it != rhits.end(); it++) {
00354       esum +=   (*it)->energy();   
00355       uncorrectedPositionAtFrontFace += (*it)->energy() * (*it)->getMyCell().position();   
00356     }
00357     if (esum != 0.) uncorrectedPositionAtFrontFace /= esum ;    
00358     XANAEmCluster *seed 
00359       = new XANAEmCluster((*icf)->energy(),
00360                           (*icf)->position(),
00361                           uncorrectedPositionAtFrontFace,
00362                           (*icf)->chi2(),
00363                           clusterizerName_.value()); 
00364     xana::out(2) << "[update] adding seed " << std::endl;
00365     xanaEsdEvent_->addSeedCluster(seed, xscluster);
00366     delete seed;
00367 
00368     // now add brems clusters
00369     xana::out(2) << "[update] adding brems " << std::endl;
00370     XANAEmCluster *brem = 0;
00371     // beware, the superCluster::vector<EgammaBasicCluster> list includes the seed cluster
00372     EgammaVSuperCluster::const_iterator ic = superCluster->basicClusters().first+1;
00373     for (;ic != superCluster->basicClusters().second; ic++) {
00374       HepPoint3D uncorrectedPositionAtFrontFace(0.,0.,0.);
00375       esum=0;
00376       rhits=(*ic)->rHits();
00377       for (std::vector<const CaloRecHit *>::const_iterator
00378         it=rhits.begin(); it != rhits.end(); it++) {
00379         esum +=         (*it)->energy();   
00380         uncorrectedPositionAtFrontFace += (*it)->energy() * (*it)->getMyCell().position();   
00381       }
00382       if (esum != 0.) uncorrectedPositionAtFrontFace /= esum ;                
00383               brem = new XANAEmCluster((*ic)->energy(),
00384                                       (*ic)->position(),
00385                                       uncorrectedPositionAtFrontFace,
00386                                       (*ic)->chi2(),
00387                                       clusterizerName_.value());            
00388       xana::out(2) << "[upDate] brem energy " << brem->getEnergy() << std::endl;
00389       xanaEsdEvent_->addBremCluster(brem, xscluster);
00390       delete brem;
00391     } 
00392     delete xscluster;
00393   }    
00394 
00395 }

void XANAEsdBuilder::setTracks G3EventProxy *   )  [protected]
 

Referenced by upDate().

void XANAEsdBuilder::setTriggerInfo G3EventProxy *   )  [protected]
 

Referenced by upDate().

void XANAEsdBuilder::setVertices G3EventProxy *   )  [protected]
 

Referenced by upDate().

void XANAEsdBuilder::upDate G3SetUp *   )  [protected]
 

Definition at line 278 of file writeESD.cpp.

References electronReconstructorName_, gsfForwardFit_, xana::out(), theRegionalTrackFinder, and theVertexTrackCompatibilityEstimator.

00279 {
00280 
00281     xana::out(5) << "Starting initSetUp==================================" << std::endl;
00282     theVertexTrackCompatibilityEstimator = new KalmanVertexTrackCompatibilityEstimator();
00283     if (strcmp(electronReconstructorName_.value().c_str(),"GSF"))     return;
00284     
00285     // new from Wolfgang
00286     
00287     // RecQuery for regional tracks
00288     RecQuery regionalQuery("RegionalCombinatorialTrackFinder");
00289 
00290     // Building:
00291     RecQuery builderQuery("CombinatorialTrajectoryBuilder");
00292     builderQuery.setParameter("chiSquarCut",100000.);
00293     builderQuery.setParameter("mass",0.000511);
00294     builderQuery.setParameter("maxCand",2);
00295     builderQuery.setParameter("maxLostHit",1);
00296     builderQuery.setParameter("maxConsecLostHit",1);
00297     builderQuery.setParameter("lostHitPenalty",50.);
00298     builderQuery.setParameter("intermediateCleaning",true);
00299     builderQuery.setParameter("minimumNumberOfHits",5);
00300     builderQuery.setParameter("ptCut", 3.);
00301     builderQuery.setParameter("alwaysUseInvalidHits",true);
00302 
00303     // Fit & smooth part
00304     RecQuery fitQuery("KFFittingSmoother");
00305     fitQuery.setParameter("mass",0.000511); 
00306     
00307     // to fit forward with the gsf:
00308     if (!strcmp(gsfForwardFit_.value().c_str(),"GSF") ) 
00309       {
00310         RecQuery fwdQuery("GsfElectronFitter");
00311         fwdQuery.setParameter("mass",0.000511);
00312         fitQuery.setComponent("Fitter",fwdQuery);
00313       }
00314 
00315     // to fit forward with the kf:
00316     if (!strcmp(gsfForwardFit_.value().c_str(),"KF") ) 
00317       {
00318         RecQuery fwdQuery("KFTrajectoryFitter");   
00319         fwdQuery.setParameter("mass",0.000511); 
00320         fitQuery.setComponent("Fitter",fwdQuery);
00321       }
00322 
00323     // Smoother
00324     RecQuery bwdQuery("GsfElectronSmoother");
00325     fitQuery.setComponent("Smoother",bwdQuery);
00326 
00327     // Complete query for regional tracks 
00328     regionalQuery.setParameter("mass",0.000511);
00329     regionalQuery.setParameter("createPersistableTracks",false);
00330     regionalQuery.setComponent("TrajectoryBuilder",builderQuery); 
00331     regionalQuery.setComponent("Smoother",fitQuery);
00332 
00333     // Create ConfigAlgorithm
00334     theRegionalTrackFinder = createAlgo<RegionalTrackFinder>(regionalQuery);
00335     // end new from Wolfgang
00336 
00337  }

void XANAEsdBuilder::upDate G3EventProxy *   )  [protected, virtual]
 

Reimplemented in XANAEsdBuilderForFAMOS.

Definition at line 227 of file writeESD.cpp.

References XANAGeantEvent::clear(), XANAGeneratorEvent::clear(), XANAEsdEvent::clear(), electronReconstructorName_, electronTrackSeeding_, XANAMemLog::fill(), hZZVertexReconstructor_, memlog_, xana::out(), setAllTrackHits(), setCaloRecHits(), setElectrons(), setElectronsGSF(), setElectronsGSFPixelMatch(), setElectronsZZVertex(), setElectronTracks(), setEmClusters(), setEndcapClusters(), setHadClusters(), setHeader(), setJets(), setMcTruth(), setMet(), setMuons(), setPhotons(), setSuperClusters(), setTracks(), setTriggerInfo(), setVertices(), writeAllTrackHits_, writeCaloRecHits_, writeTree(), writeTree_, xanaEsdEvent_, xanaGeantEvent_, xanaGenEvent_, and xanamemlog_.

00228 { 
00229     
00230   xana::out(1) << "[update] updating XANAEsdBuilder for event " << std::endl;  
00231   if (!ev) return ;    
00232 
00233   //    UInt_t saveNumber=TProcessID::GetObjectCount();
00234      
00235   setHeader(ev);
00236   if (writeCaloRecHits_) setCaloRecHits(ev);
00237   setEmClusters(ev);
00238   setSuperClusters(ev);
00239   setEndcapClusters(ev);
00240   setHadClusters(ev);
00241   setTracks(ev);
00242   if (writeAllTrackHits_) setAllTrackHits(ev);
00243   setVertices(ev);
00244   setMuons(ev);
00245   if (!strcmp(electronReconstructorName_.value().c_str(),"GSF")) {
00246     // new electron candidates
00247     if (electronTrackSeeding_.value() == "Regional") setElectronsGSF(ev);
00248     else if (electronTrackSeeding_.value() == "PixelMatch") setElectronsGSFPixelMatch(ev);
00249     else {
00250       cout << "writeESD: unknown electronTrackSeeding option" << electronTrackSeeding_.value()<< endl;
00251     }
00252   }
00253   else {
00254     // egamma electron candidates 
00255     setElectronTracks(ev);
00256     setElectrons(ev);
00257   }
00258   if (hZZVertexReconstructor_) setElectronsZZVertex(ev);
00259   setPhotons(ev);
00260   setJets(ev);
00261   setMet(ev);
00262   setMcTruth(ev);
00263   setTriggerInfo(ev);
00264 
00265   if (writeTree_) writeTree();
00266   
00267   if (memlog_) xanamemlog_->fill();
00268 
00269   xanaEsdEvent_->clear();
00270   xanaGenEvent_->clear();
00271   xanaGeantEvent_->clear();
00272 
00273 //      TProcessID::SetObjectCount(saveNumber);
00274 
00275 }      

void XANAEsdBuilder::writeTree  )  [protected]
 

Definition at line 412 of file writeESD.cpp.

References xana::out(), and xanaEsdTree_.

Referenced by XANAEsdBuilderForFAMOS::upDate(), and upDate().

00413 {
00414 
00415   xana::out(2) << "[update] writing event " << std::endl;     
00416   
00417   xanaEsdTree_->Fill();  //fill the tree
00418 
00419 }


Member Data Documentation

map<CellID, XANACaloRecHit, less<CellID> > XANAEsdBuilder::allCaloRecHits_ [protected]
 

Definition at line 144 of file writeESD.h.

vector<CellID> XANAEsdBuilder::allCells_ [protected]
 

Definition at line 146 of file writeESD.h.

SimpleConfigurable<int> XANAEsdBuilder::autosave_
 

Definition at line 70 of file writeESD.h.

Referenced by XANAEsdBuilder().

SimpleConfigurable<int> XANAEsdBuilder::bufferSize_
 

Definition at line 73 of file writeESD.h.

Referenced by XANAEsdBuilder().

IsoCalculator* XANAEsdBuilder::ciso_ [protected]
 

Definition at line 138 of file writeESD.h.

Referenced by setElectrons(), setEndcapClusters(), and XANAEsdBuilder().

map<CellID, XANACaloRecHit, less<CellID> > XANAEsdBuilder::clusterizedCaloRecHits_ [protected]
 

Definition at line 145 of file writeESD.h.

Referenced by setEmClusters().

vector<CellID> XANAEsdBuilder::clusterizedCells_ [protected]
 

Definition at line 147 of file writeESD.h.

Referenced by setEmClusters().

SimpleConfigurable<std::string> XANAEsdBuilder::clusterizerName_
 

Definition at line 80 of file writeESD.h.

Referenced by setEmClusters(), setEndcapClusters(), setSuperClusters(), and XANAEsdBuilder().

RecCollection<EgammaBasicCluster>* XANAEsdBuilder::clusters [protected]
 

Definition at line 114 of file writeESD.h.

Referenced by setEmClusters().

SimpleConfigurable<int> XANAEsdBuilder::compressionLevel_
 

Definition at line 72 of file writeESD.h.

Referenced by XANAEsdBuilder().

SimpleConfigurable<float> XANAEsdBuilder::eCandidateEOverPMax_
 

Definition at line 98 of file writeESD.h.

SimpleConfigurable<float> XANAEsdBuilder::eCandidateEOverPMin_
 

Definition at line 97 of file writeESD.h.

SimpleConfigurable<float> XANAEsdBuilder::eCandidateEtaCut_
 

Definition at line 95 of file writeESD.h.

SimpleConfigurable<float> XANAEsdBuilder::eCandidatePhiCut_
 

Definition at line 96 of file writeESD.h.

SimpleConfigurable<std::string> XANAEsdBuilder::electronReconstructorName_
 

Definition at line 87 of file writeESD.h.

Referenced by upDate(), and XANAEsdBuilder().

RecCollection<ElectronCandidate>* XANAEsdBuilder::electrons [protected]
 

Definition at line 121 of file writeESD.h.

Referenced by setElectrons().

vector<RecTrack> XANAEsdBuilder::electronTracks [protected]
 

Definition at line 149 of file writeESD.h.

SimpleConfigurable<std::string> XANAEsdBuilder::electronTrackSeeding_
 

Definition at line 92 of file writeESD.h.

Referenced by upDate(), and XANAEsdBuilder().

RecCollection<ConcreteRecTrack>* XANAEsdBuilder::eltracks [protected]
 

Definition at line 123 of file writeESD.h.

SimpleConfigurable<std::string> XANAEsdBuilder::endcapSuperClusterizerName_
 

Definition at line 82 of file writeESD.h.

Referenced by setElectrons(), setEndcapClusters(), and XANAEsdBuilder().

RecCollection<EgammaEndcapCluster>* XANAEsdBuilder::endcapSuperClusters [protected]
 

Definition at line 116 of file writeESD.h.

Referenced by setEndcapClusters().

SimpleConfigurable<std::string> XANAEsdBuilder::fileName_
 

Definition at line 68 of file writeESD.h.

Referenced by XANAEsdBuilder().

SimpleConfigurable<std::string> XANAEsdBuilder::gsfForwardFit_
 

Definition at line 91 of file writeESD.h.

Referenced by upDate(), and XANAEsdBuilder().

SimpleConfigurable<std::string> XANAEsdBuilder::hcalClusterizerName_
 

Definition at line 83 of file writeESD.h.

Referenced by XANAEsdBuilder().

RecCollection<HighLevelTriggerResult>* XANAEsdBuilder::hlt [protected]
 

Definition at line 126 of file writeESD.h.

SimpleConfigurable<std::string> XANAEsdBuilder::hltMenu_
 

Definition at line 106 of file writeESD.h.

Referenced by XANAEsdBuilder().

SimpleConfigurable<bool> XANAEsdBuilder::hZZVertexReconstructor_
 

Definition at line 88 of file writeESD.h.

Referenced by upDate(), and XANAEsdBuilder().

RecCollection<RecJet>* XANAEsdBuilder::jets [protected]
 

Definition at line 124 of file writeESD.h.

SimpleConfigurable<bool> XANAEsdBuilder::jetsFromTrueInformation_
 

Definition at line 101 of file writeESD.h.

Referenced by XANAEsdBuilder().

SimpleConfigurable<std::string> XANAEsdBuilder::l1Menu_
 

Definition at line 105 of file writeESD.h.

Referenced by XANAEsdBuilder().

SimpleConfigurable<bool> XANAEsdBuilder::memlog_
 

Definition at line 67 of file writeESD.h.

Referenced by upDate(), XANAEsdBuilder(), and ~XANAEsdBuilder().

RecCollection<RecMET>* XANAEsdBuilder::mets [protected]
 

Definition at line 125 of file writeESD.h.

SimpleConfigurable<bool> XANAEsdBuilder::metsFromTrueInformation_
 

Definition at line 102 of file writeESD.h.

Referenced by XANAEsdBuilder().

SimpleConfigurable<std::string> XANAEsdBuilder::muonReconstructorName_
 

Definition at line 86 of file writeESD.h.

Referenced by XANAEsdBuilder().

RecCollection<RecMuon>* XANAEsdBuilder::muons [protected]
 

Definition at line 120 of file writeESD.h.

int XANAEsdBuilder::nbClusters_ [protected]
 

Definition at line 142 of file writeESD.h.

int XANAEsdBuilder::nbElectrons_ [protected]
 

Definition at line 142 of file writeESD.h.

Referenced by setElectrons().

int XANAEsdBuilder::nbPhotons_ [protected]
 

Definition at line 142 of file writeESD.h.

int XANAEsdBuilder::nbTracks_ [protected]
 

Definition at line 142 of file writeESD.h.

RecCollection<PhotonCandidate>* XANAEsdBuilder::photons [protected]
 

Definition at line 122 of file writeESD.h.

SimpleConfigurable<int> XANAEsdBuilder::splitMode_
 

Definition at line 74 of file writeESD.h.

Referenced by XANAEsdBuilder().

SimpleConfigurable<std::string> XANAEsdBuilder::superClusterizerName_
 

Definition at line 81 of file writeESD.h.

Referenced by setElectrons(), setSuperClusters(), and XANAEsdBuilder().

RecCollection<EgammaSuperCluster>* XANAEsdBuilder::superClusters [protected]
 

Definition at line 115 of file writeESD.h.

Referenced by setSuperClusters().

Collection* XANAEsdBuilder::theCollection [protected]
 

Definition at line 112 of file writeESD.h.

RegionalTrackFinder* XANAEsdBuilder::theRegionalTrackFinder [protected]
 

Definition at line 151 of file writeESD.h.

Referenced by upDate().

VertexTrackCompatibilityEstimator* XANAEsdBuilder::theVertexTrackCompatibilityEstimator [protected]
 

Definition at line 154 of file writeESD.h.

Referenced by upDate().

RecCollection<EcalPlusHcalTower>* XANAEsdBuilder::towers [protected]
 

Definition at line 117 of file writeESD.h.

SimpleConfigurable<std::string> XANAEsdBuilder::trackReconstructorName_
 

Definition at line 84 of file writeESD.h.

Referenced by XANAEsdBuilder().

RecCollection<TTrack>* XANAEsdBuilder::tracks [protected]
 

Definition at line 118 of file writeESD.h.

Referenced by setElectronTracks().

SimpleConfigurable<std::string> XANAEsdBuilder::treeName_
 

Definition at line 69 of file writeESD.h.

Referenced by XANAEsdBuilder().

SimpleConfigurable<std::string> XANAEsdBuilder::vertexReconstructorName_
 

Definition at line 85 of file writeESD.h.

Referenced by XANAEsdBuilder().

RecCollection<RecoVertex>* XANAEsdBuilder::vertices [protected]
 

Definition at line 119 of file writeESD.h.

SimpleConfigurable<bool> XANAEsdBuilder::writeAllTrackHits_
 

Definition at line 76 of file writeESD.h.

Referenced by upDate(), and XANAEsdBuilder().

SimpleConfigurable<bool> XANAEsdBuilder::writeCaloRecHits_
 

Definition at line 71 of file writeESD.h.

Referenced by upDate(), and XANAEsdBuilder().

SimpleConfigurable<bool> XANAEsdBuilder::writeEleTrackHits_
 

Definition at line 77 of file writeESD.h.

Referenced by setElectronTracks(), and XANAEsdBuilder().

SimpleConfigurable<bool> XANAEsdBuilder::writeTrackHits_
 

Definition at line 75 of file writeESD.h.

Referenced by XANAEsdBuilder().

SimpleConfigurable<bool> XANAEsdBuilder::writeTree_
 

Definition at line 66 of file writeESD.h.

Referenced by upDate(), and XANAEsdBuilder().

XANAEsdEvent* XANAEsdBuilder::xanaEsdEvent_ [protected]
 

Definition at line 131 of file writeESD.h.

Referenced by setElectrons(), setElectronTracks(), setEleTrackHits(), setEmClusters(), setEndcapClusters(), setSuperClusters(), upDate(), and XANAEsdBuilder().

TBranch* XANAEsdBuilder::xanaEsdEventBranch_ [protected]
 

Definition at line 129 of file writeESD.h.

Referenced by XANAEsdBuilder().

TFile* XANAEsdBuilder::xanaEsdFile_ [protected]
 

Definition at line 130 of file writeESD.h.

Referenced by XANAEsdBuilder(), and ~XANAEsdBuilder().

TTree* XANAEsdBuilder::xanaEsdTree_ [protected]
 

Definition at line 128 of file writeESD.h.

Referenced by writeTree(), XANAEsdBuilder(), and ~XANAEsdBuilder().

XANAGeantEvent* XANAEsdBuilder::xanaGeantEvent_ [protected]
 

Definition at line 136 of file writeESD.h.

Referenced by upDate(), and XANAEsdBuilder().

TBranch* XANAEsdBuilder::xanaGeantEventBranch_ [protected]
 

Definition at line 135 of file writeESD.h.

Referenced by XANAEsdBuilder().

XANAGeneratorEvent* XANAEsdBuilder::xanaGenEvent_ [protected]
 

Definition at line 134 of file writeESD.h.

Referenced by upDate(), and XANAEsdBuilder().

TBranch* XANAEsdBuilder::xanaGenEventBranch_ [protected]
 

Definition at line 133 of file writeESD.h.

Referenced by XANAEsdBuilder().

XANAMemLog* XANAEsdBuilder::xanamemlog_ [protected]
 

Definition at line 140 of file writeESD.h.

Referenced by upDate(), XANAEsdBuilder(), and ~XANAEsdBuilder().


The documentation for this class was generated from the following files:
Generated on Thu Oct 27 21:59:53 2005 for XANADOO by doxygen 1.3.5