#include "hparticletrackcleaner.h"
#include "hades.h"
#include "hruntimedb.h"
#include "hevent.h"
#include "hparticledef.h"
#include <iostream>
using namespace std;
ClassImp(HParticleTrackCleaner)
HParticleTrackCleaner::HParticleTrackCleaner(void)
: HReconstructor("ParticleTrackCleaner", "Particle candidate cleaner")
{
clear();
}
HParticleTrackCleaner::HParticleTrackCleaner(const Text_t* name,const Text_t* title)
: HReconstructor(name, title)
{
clear();
}
HParticleTrackCleaner::~HParticleTrackCleaner(void)
{
}
void HParticleTrackCleaner::clear()
{
pUserSelectLeptons = NULL;
pUserSelectHadrons = NULL;
pUserSort = NULL;
pParticleCandCat = NULL;
sortType = Particle::kIsBestRKSorter;
fIsFieldOn = kTRUE;
fMagnetPar = 0;
}
Bool_t HParticleTrackCleaner::init(void)
{
pParticleCandCat = gHades->getCurrentEvent()->getCategory(catParticleCand);
if (!pParticleCandCat) {
Error("HParticleTrackCleaner::init()"," No HParticleCand Input -> Switching HParticleTrackCleaner OFF");
}
fMagnetPar = (HMagnetPar*)gHades->getRuntimeDb()->getContainer("MagnetPar");
return sorter.init();
}
Bool_t HParticleTrackCleaner::reinit(void)
{
if(fMagnetPar){
if (fMagnetPar->getScalingFactor()==0.){
Info("HParticleTrackCleaner::reinit()"," Switching to B-Field == 0");
fIsFieldOn = kFALSE;
sortType = Particle::kIsBestHitMETASorter;
sorter.getSetup().kIsFieldOn = kFALSE;
}
}
return kTRUE;
}
Int_t HParticleTrackCleaner::execute(void)
{
if(!pParticleCandCat) return 0;
sorter.backupSetup();
sorter.getSetup().copyToStatic();
sorter.resetFlags(kTRUE,kTRUE,kTRUE,kTRUE);
if(pUserSelectLeptons){
sorter.fill(pUserSelectLeptons);
}else{
sorter.fill(HParticleTrackSorter::selectLeptons);
}
sorter.selectBest(sortType,Particle::kIsLeptonSorter);
if(pUserSelectHadrons){
sorter.fill(pUserSelectHadrons);
} else {
sorter.fill(HParticleTrackSorter::selectHadrons);
}
sorter.selectBest(sortType,Particle::kIsHadronSorter);
sorter.cleanUp();
sorter.restoreSetup();
return 0;
}
Bool_t HParticleTrackCleaner::finalize(void)
{
return sorter.finalize();
}
hparticletrackcleaner.cc:1 hparticletrackcleaner.cc:2 hparticletrackcleaner.cc:3 hparticletrackcleaner.cc:4 hparticletrackcleaner.cc:5 hparticletrackcleaner.cc:6 hparticletrackcleaner.cc:7 hparticletrackcleaner.cc:8 hparticletrackcleaner.cc:9 hparticletrackcleaner.cc:10 hparticletrackcleaner.cc:11 hparticletrackcleaner.cc:12 hparticletrackcleaner.cc:13 hparticletrackcleaner.cc:14 hparticletrackcleaner.cc:15 hparticletrackcleaner.cc:16 hparticletrackcleaner.cc:17 hparticletrackcleaner.cc:18 hparticletrackcleaner.cc:19 hparticletrackcleaner.cc:20 hparticletrackcleaner.cc:21 hparticletrackcleaner.cc:22 hparticletrackcleaner.cc:23 hparticletrackcleaner.cc:24 hparticletrackcleaner.cc:25 hparticletrackcleaner.cc:26 hparticletrackcleaner.cc:27 hparticletrackcleaner.cc:28 hparticletrackcleaner.cc:29 hparticletrackcleaner.cc:30 hparticletrackcleaner.cc:31 hparticletrackcleaner.cc:32 hparticletrackcleaner.cc:33 hparticletrackcleaner.cc:34 hparticletrackcleaner.cc:35 hparticletrackcleaner.cc:36 hparticletrackcleaner.cc:37 hparticletrackcleaner.cc:38 hparticletrackcleaner.cc:39 hparticletrackcleaner.cc:40 hparticletrackcleaner.cc:41 hparticletrackcleaner.cc:42 hparticletrackcleaner.cc:43 hparticletrackcleaner.cc:44 hparticletrackcleaner.cc:45 hparticletrackcleaner.cc:46 hparticletrackcleaner.cc:47 hparticletrackcleaner.cc:48 hparticletrackcleaner.cc:49 hparticletrackcleaner.cc:50 hparticletrackcleaner.cc:51 hparticletrackcleaner.cc:52 hparticletrackcleaner.cc:53 hparticletrackcleaner.cc:54 hparticletrackcleaner.cc:55 hparticletrackcleaner.cc:56 hparticletrackcleaner.cc:57 hparticletrackcleaner.cc:58 hparticletrackcleaner.cc:59 hparticletrackcleaner.cc:60 hparticletrackcleaner.cc:61 hparticletrackcleaner.cc:62 hparticletrackcleaner.cc:63 hparticletrackcleaner.cc:64 hparticletrackcleaner.cc:65 hparticletrackcleaner.cc:66 hparticletrackcleaner.cc:67 hparticletrackcleaner.cc:68 hparticletrackcleaner.cc:69 hparticletrackcleaner.cc:70 hparticletrackcleaner.cc:71 hparticletrackcleaner.cc:72 hparticletrackcleaner.cc:73 hparticletrackcleaner.cc:74 hparticletrackcleaner.cc:75 hparticletrackcleaner.cc:76 hparticletrackcleaner.cc:77 hparticletrackcleaner.cc:78 hparticletrackcleaner.cc:79 hparticletrackcleaner.cc:80 hparticletrackcleaner.cc:81 hparticletrackcleaner.cc:82 hparticletrackcleaner.cc:83 hparticletrackcleaner.cc:84 hparticletrackcleaner.cc:85 hparticletrackcleaner.cc:86 hparticletrackcleaner.cc:87 hparticletrackcleaner.cc:88 hparticletrackcleaner.cc:89 hparticletrackcleaner.cc:90 hparticletrackcleaner.cc:91 hparticletrackcleaner.cc:92 hparticletrackcleaner.cc:93 hparticletrackcleaner.cc:94 hparticletrackcleaner.cc:95 hparticletrackcleaner.cc:96 hparticletrackcleaner.cc:97 hparticletrackcleaner.cc:98 hparticletrackcleaner.cc:99 hparticletrackcleaner.cc:100 hparticletrackcleaner.cc:101 hparticletrackcleaner.cc:102 hparticletrackcleaner.cc:103 hparticletrackcleaner.cc:104 hparticletrackcleaner.cc:105 hparticletrackcleaner.cc:106 hparticletrackcleaner.cc:107 hparticletrackcleaner.cc:108 hparticletrackcleaner.cc:109 hparticletrackcleaner.cc:110 hparticletrackcleaner.cc:111 hparticletrackcleaner.cc:112 hparticletrackcleaner.cc:113 hparticletrackcleaner.cc:114 hparticletrackcleaner.cc:115 hparticletrackcleaner.cc:116 hparticletrackcleaner.cc:117 hparticletrackcleaner.cc:118 hparticletrackcleaner.cc:119 hparticletrackcleaner.cc:120 hparticletrackcleaner.cc:121 hparticletrackcleaner.cc:122 hparticletrackcleaner.cc:123 hparticletrackcleaner.cc:124 hparticletrackcleaner.cc:125 hparticletrackcleaner.cc:126 hparticletrackcleaner.cc:127 hparticletrackcleaner.cc:128 hparticletrackcleaner.cc:129 hparticletrackcleaner.cc:130 hparticletrackcleaner.cc:131 hparticletrackcleaner.cc:132 hparticletrackcleaner.cc:133 hparticletrackcleaner.cc:134 hparticletrackcleaner.cc:135 hparticletrackcleaner.cc:136 hparticletrackcleaner.cc:137 hparticletrackcleaner.cc:138 hparticletrackcleaner.cc:139 hparticletrackcleaner.cc:140 hparticletrackcleaner.cc:141 hparticletrackcleaner.cc:142 hparticletrackcleaner.cc:143 hparticletrackcleaner.cc:144 hparticletrackcleaner.cc:145 hparticletrackcleaner.cc:146 hparticletrackcleaner.cc:147 hparticletrackcleaner.cc:148 hparticletrackcleaner.cc:149 hparticletrackcleaner.cc:150 hparticletrackcleaner.cc:151 hparticletrackcleaner.cc:152 hparticletrackcleaner.cc:153 hparticletrackcleaner.cc:154 hparticletrackcleaner.cc:155 hparticletrackcleaner.cc:156 hparticletrackcleaner.cc:157 hparticletrackcleaner.cc:158 hparticletrackcleaner.cc:159