#include "hparticlepairmaker.h"
#include "hparticlepairdraw.h"
#include "hcategorymanager.h"
#include "hphysicsconstants.h"
#include "hades.h"
#include "hrecevent.h"
#include "TCanvas.h"
#include "TH1F.h"
#include "TLatex.h"
#include "TEllipse.h"
#include "TLine.h"
ClassImp(HParticlePairMaker)
// <img src="http://web-docs.gsi.de/~halo/docs/hydra/classDocumentation/docu_pics/hydra2/particle/lepton_pair_cases_1.png" alt="Lepton Pair Cases" width="750" >
// <img src="http://web-docs.gsi.de/~halo/docs/hydra/classDocumentation/docu_pics/hydra2/particle/lepton_pair_cases_2.png" alt="Lepton Pair Cases" width="750" >
//END_HTML
// <img src="http://web-docs.gsi.de/~halo/docs/hydra/classDocumentation/docu_pics/hydra2/particle/hadron_pair_cases.png" alt="Hadron Pair Cases" width="750" >
//END_HTML
// <img src="http://web-docs.gsi.de/~halo/docs/hydra/classDocumentation/docu_pics/hydra2/particle/lepton_hadron_pair_cases.png" alt="Mixed Lepton Hadron Pair Cases" width="525" >
//END_HTML
Bool_t HParticlePairMaker::frequireRich = kTRUE;
HParticlePairMaker::HParticlePairMaker()
{
fPID1 = HPhysicsConstants::pid("e+");
fPID2 = HPhysicsConstants::pid("e-");
fMotherPID = HPhysicsConstants::pid("dilepton");
fselectPID1 = 0;
fselectPID2 = 0;
fuserFilter = 0;
fuse_kIsLepton = kTRUE;
fVertexCase = kVertexParticle ;
fdoSkippedFullCandPairs = kTRUE;
fpairs .resize(10000);
fothers .resize(1000);
ffullrecoOthers .resize(100);
fnofullrecoOthers .resize(1000);
freference.resize(100);
fCaseVec.push_back(kPairCase1);
fCaseVec.push_back(kPairCase2);
fCaseVec.push_back(kPairCase3);
fCaseVec.push_back(kPairCase4);
fCaseVec.push_back(kPairCase5);
fCaseVec.push_back(kPairCase6);
fCaseVec.push_back(kPairCase7);
fCaseVec.push_back(kPairCase8);
fCaseVec.push_back(kPairCase9);
fCaseVec.push_back(kPairCase10);
fCaseVec.push_back(kPairCase11);
fCaseVec.push_back(kPairCase12);
fCaseVec.push_back(kPairCase13);
fCaseVec.push_back(kPairCase14);
fCaseVec.push_back(kPairCase15);
for(UInt_t i=0;i<fCaseVec.size();i++) fCaseCt.push_back(0);
richCandCt = 0 ;
}
HParticlePairMaker::~HParticlePairMaker()
{
clearVectors();
}
Bool_t HParticlePairMaker::selectPos(HParticleCand* cand)
{
if(getRequireRich() && cand->getRichInd() == -1) return kFALSE;
if( cand->getCharge() > 0 ) return kTRUE;
else return kFALSE;
}
Bool_t HParticlePairMaker::selectNeg(HParticleCand* cand)
{
if(getRequireRich() && cand->getRichInd() == -1) return kFALSE;
if( cand->getCharge() < 0 ) return kTRUE;
else return kFALSE;
}
void HParticlePairMaker::bookHits(HParticleCand* cand1)
{
if(cand1->getRichInd() !=-1 ) {
if(mRichtoCand.find(cand1->getRichInd()) == mRichtoCand.end()){
vector<HParticleCand*> v;
v.push_back(cand1);
mRichtoCand[cand1->getRichInd()] = v;
} else {
mRichtoCand[cand1->getRichInd()].push_back(cand1);
}
}
if(cand1->getInnerSegInd() !=-1 ) {
if(mInnerMdctoCand.find(cand1->getInnerSegInd()) == mInnerMdctoCand.end()){
vector<HParticleCand*> v;
v.push_back(cand1);
mInnerMdctoCand[cand1->getInnerSegInd()] = v;
} else {
mInnerMdctoCand[cand1->getInnerSegInd()].push_back(cand1);
}
}
if(cand1->getOuterSegInd() !=-1 ) {
if(mOuterMdctoCand.find(cand1->getOuterSegInd()) == mOuterMdctoCand.end()){
vector<HParticleCand*> v;
v.push_back(cand1);
mOuterMdctoCand[cand1->getOuterSegInd()] = v;
} else {
mOuterMdctoCand[cand1->getOuterSegInd()].push_back(cand1);
}
}
if(cand1->getSystemUsed() != -1){
Int_t meta = cand1->getMetaHitInd();
if(cand1->isTofHitUsed()){
if(mTofHittoCand.find(meta) == mTofHittoCand.end()){
vector<HParticleCand*> v;
v.push_back(cand1);
mTofHittoCand[meta] = v;
} else {
mTofHittoCand[meta].push_back(cand1);
}
} else if (cand1->isTofClstUsed()){
if(mTofClsttoCand.find(meta) == mTofClsttoCand.end()){
vector<HParticleCand*> v;
v.push_back(cand1);
mTofClsttoCand[meta] = v;
} else {
mTofClsttoCand[meta].push_back(cand1);
}
} else if (cand1->isRpcClstUsed()){
if(mRpcClsttoCand.find(meta) == mRpcClsttoCand.end()){
vector<HParticleCand*> v;
v.push_back(cand1);
mRpcClsttoCand[meta] = v;
} else {
mRpcClsttoCand[meta].push_back(cand1);
}
} else if (cand1->isShowerUsed()){
if(mShowertoCand.find(meta) == mShowertoCand.end()){
vector<HParticleCand*> v;
v.push_back(cand1);
mShowertoCand[meta] = v;
} else {
mShowertoCand[meta].push_back(cand1);
}
} else if (cand1->isEmcUsed()){
if(mEmctoCand.find(meta) == mEmctoCand.end()){
vector<HParticleCand*> v;
v.push_back(cand1);
mEmctoCand[meta] = v;
} else {
mEmctoCand[meta].push_back(cand1);
}
}
}
}
void HParticlePairMaker::selectPID(HParticleCand* cand1,Int_t& pid1,Bool_t warn)
{
if( (*fselectPID1)(cand1) ) { pid1 = fPID1;}
else if ((*fselectPID2)(cand1) ) { pid1 = fPID2;}
else {
if(warn){
Warning("nextEvent()","Reference particle not labeled with PID! Should not happen. Check your selection functions. frequireRich = kTRUE but kIsLepton is not used as referencce this might cause empty pids.");
cand1->print();
}
}
}
void HParticlePairMaker::nextEvent()
{
clearVectors();
if(!fselectPID1) fselectPID1 = HParticlePairMaker::selectPos;
if(!fselectPID2) fselectPID2 = HParticlePairMaker::selectNeg;
HRecEvent* event = (HRecEvent*)gHades->getCurrentEvent();
if(event){
if(fVertexCase != kVertexUser){
fVertex = HParticleTool::getGlobalVertex(fVertexCase,kFALSE);
}
HCategory* candCat = (HCategory*) event->getCategory(catParticleCand);
if(candCat){
UInt_t n = candCat->getEntries();
HParticleCand* cand1 = 0 ;
HParticleCand* cand2 = 0 ;
for(UInt_t i=0; i < n; i++){
cand1 = HCategoryManager::getObject(cand1,candCat,i);
bookHits(cand1);
if(cand1){
if(fuserFilter && !(*fuserFilter)(cand1)) continue;
if(( fuse_kIsLepton && cand1->isFlagBit(Particle::kIsLepton)) ||
(!fuse_kIsLepton && cand1->isFlagBit(Particle::kIsUsed))
){
freference.push_back(cand1);
} else {
fothers.push_back(cand1);
}
}
}
Int_t pid1,pid2;
pid1 = pid2 = -10;
n = freference.size();
if(n > 1){
for(UInt_t i = 0 ; i < n ; i++){
cand1 = freference[i];
pid1 = -10;
selectPID(cand1,pid1,kTRUE);
for(UInt_t j = i+1 ; j < n; j++){
cand2 = freference[j];
if(cand2->getRichInd()!=-1) richCandCt++;
UInt_t flag = 0;
HParticleTool::setPairFlags(flag,cand2,cand1);
if(!fuse_kIsLepton) flag=flag|kNoUseRICH;
pid2 = -10;
selectPID(cand2,pid2,kTRUE);
HParticlePair pair;
pair.setPair(cand1,pid1,cand2,pid2,fMotherPID,flag,fVertex);
fpairs.push_back(pair);
}
}
}
for(UInt_t i = 0 ; i < freference.size(); i++){
cand1 = freference[i];
pid1 = -10;
selectPID(cand1,pid1,kTRUE);
for(UInt_t j = 0 ; j < fothers.size(); j++){
cand2 = fothers[j];
if(cand2->getRichInd()!=-1) richCandCt++;
UInt_t flag = 0;
HParticleTool::setPairFlags(flag,cand2,cand1);
if(!fuse_kIsLepton) flag=flag|kNoUseRICH;
pid2 = -10;
if( pid1 == fPID2 && (*fselectPID1)(cand2) ) { pid2 = fPID1;}
else if ( pid1 == fPID1 && (*fselectPID2)(cand2) ) { pid2 = fPID2;}
if(pid2 == -10){
if((flag&kNoOuterMDC2) == kNoOuterMDC2) {
if(pid1 == fPID1) pid2 = fPID2;
else pid2 = fPID1;
}
}
if(pid2 == -10) {
if(cand2->getCharge() != 0){
if(cand2->getCharge() > 0) pid2 = HPhysicsConstants::pid("fake+");
else pid2 = HPhysicsConstants::pid("fake-");
} else {
if(HPhysicsConstants::charge(pid1) < 0 ) pid2 = HPhysicsConstants::pid("fake+");
else pid2 = HPhysicsConstants::pid("fake-");
}
}
HParticlePair pair;
pair.setPair(cand1,pid1,cand2,pid2,fMotherPID,flag,fVertex);
fpairs.push_back(pair);
#ifdef dbug
Int_t ct = 0 ;
for(UInt_t k = 0; k < fCaseVec.size(); k ++){
if(HParticleTool::evalPairsFlags(fCaseVec[k],pair) || cand2->getRichInd()==-1) {
good2=kTRUE;
if(cand2->getRichInd()!=-1) ct++;
}
}
if(!good2 || ct>1) pair.print();
#endif
}
}
if(fdoSkippedFullCandPairs)
{
for(UInt_t j = 0 ; j < fothers.size(); j++){
HParticleCand* c = fothers[j];
if(c->isFlagAND(4,
Particle::kIsAcceptedHitInnerMDC,
Particle::kIsAcceptedHitOuterMDC,
Particle::kIsAcceptedHitMETA,
Particle::kIsAcceptedRK )){
ffullrecoOthers.push_back(c);
} else {
fnofullrecoOthers.push_back(c);
}
}
for(UInt_t i = 0 ; i < ffullrecoOthers.size(); i++){
cand1 = ffullrecoOthers[i];
pid1 = -10;
selectPID(cand1,pid1,kTRUE);
for(UInt_t j = i+1 ; j < ffullrecoOthers.size(); j++){
cand2 = ffullrecoOthers[j];
UInt_t flag = 0;
HParticleTool::setPairFlags(flag,cand2,cand1);
if(!fuse_kIsLepton) flag=flag|kNoUseRICH;
pid2 = -10;
if( pid1 == fPID2 && (*fselectPID1)(cand2) ) { pid2 = fPID1;}
else if ( pid1 == fPID1 && (*fselectPID2)(cand2) ) { pid2 = fPID2;}
if(pid2 == -10){
if((flag&kNoOuterMDC2) == kNoOuterMDC2) {
if(pid1 == fPID1) pid2 = fPID2;
else pid2 = fPID1;
}
}
if(pid2 == -10) {
if(cand2->getCharge() != 0){
if(cand2->getCharge() > 0) pid2 = HPhysicsConstants::pid("fake+");
else pid2 = HPhysicsConstants::pid("fake-");
} else {
if(HPhysicsConstants::charge(pid1) < 0 ) pid2 = HPhysicsConstants::pid("fake+");
else pid2 = HPhysicsConstants::pid("fake-");
}
}
HParticlePair pair;
pair.setPair(cand1,pid1,cand2,pid2,fMotherPID,flag,fVertex);
fpairs.push_back(pair);
}
}
for(UInt_t i = 0 ; i < ffullrecoOthers.size(); i++){
cand1 = ffullrecoOthers[i];
pid1 = -10;
selectPID(cand1,pid1,kTRUE);
for(UInt_t j = 0 ; j < fnofullrecoOthers.size(); j++){
cand2 = fnofullrecoOthers[j];
UInt_t flag = 0;
HParticleTool::setPairFlags(flag,cand2,cand1);
if(!fuse_kIsLepton) flag=flag|kNoUseRICH;
pid2 = -10;
if( pid1 == fPID2 && (*fselectPID1)(cand2) ) { pid2 = fPID1;}
else if ( pid1 == fPID1 && (*fselectPID2)(cand2) ) { pid2 = fPID2;}
if(pid2 == -10){
if((flag&kNoOuterMDC2) == kNoOuterMDC2) {
if(pid1 == fPID1) pid2 = fPID2;
else pid2 = fPID1;
}
}
if(pid2 == -10) {
if(cand2->getCharge() != 0){
if(cand2->getCharge() > 0) pid2 = HPhysicsConstants::pid("fake+");
else pid2 = HPhysicsConstants::pid("fake-");
} else {
if(HPhysicsConstants::charge(pid1) < 0 ) pid2 = HPhysicsConstants::pid("fake+");
else pid2 = HPhysicsConstants::pid("fake-");
}
}
HParticlePair pair;
pair.setPair(cand1,pid1,cand2,pid2,fMotherPID,flag,fVertex);
fpairs.push_back(pair);
}
}
}
for(UInt_t i = 0; i < fpairs.size(); i++){
HParticlePair* pair = &(fpairs[i]);
cand1 = dynamic_cast<HParticleCand*>(pair->getCand(0));
cand2 = dynamic_cast<HParticleCand*>(pair->getCand(1));
for(UInt_t k = 0; k < fCaseVec.size(); k ++){
if(HParticleTool::evalPairsFlags(fCaseVec[k],*pair)) {
fCaseCt[k]++;
}
}
if(mCandtoPair.find(cand1) == mCandtoPair.end()){
vector<HParticlePair*> pairs;
pairs.push_back(pair);
mCandtoPair[cand1] = pairs;
} else {
mCandtoPair[cand1].push_back(pair);
}
if(mCandtoPair.find(cand2) == mCandtoPair.end()){
vector<HParticlePair*> pairs;
pairs.push_back(pair);
mCandtoPair[cand2] = pairs;
} else {
mCandtoPair[cand2].push_back(pair);
}
}
}
}
}
void HParticlePairMaker::clearVectors()
{
freference .clear();
fothers .clear();
fpairs .clear();
ffullrecoOthers.clear();
fnofullrecoOthers.clear();
mTofHittoCand .clear();
mTofClsttoCand .clear();
mRpcClsttoCand .clear();
mShowertoCand .clear();
mEmctoCand .clear();
mInnerMdctoCand.clear();
mOuterMdctoCand.clear();
mRichtoCand .clear();
mCandtoPair .clear();
}
void HParticlePairMaker::filterPairsVector(vector<HParticlePair*>& filterpairs,UInt_t flag)
{
filterpairs.clear();
for(UInt_t i = 0; i < fpairs.size(); i++){
HParticlePair& pair = fpairs[i];
if(HParticleTool::evalPairsFlags(flag,pair)){
filterpairs.push_back(&pair);
}
}
}
void HParticlePairMaker::filterPairsVector(vector<HParticlePair*>& filterpairs,vector<UInt_t>& flags)
{
filterpairs.clear();
for(UInt_t i = 0; i < fpairs.size(); i++){
HParticlePair& pair = fpairs[i];
if(HParticleTool::evalPairsFlags(flags,pair)){
filterpairs.push_back(&pair);
}
}
}
Int_t HParticlePairMaker::filterCandidates(HVirtualCand* cand,vector<HVirtualCand*>& candidates,UInt_t flag,Float_t oAngle)
{
candidates.clear();
map<HVirtualCand*,vector<HParticlePair*> >::iterator it = mCandtoPair.find(cand);
if(it != mCandtoPair.end()){
vector<HParticlePair*>& v = it->second;
for(UInt_t i = 0 ; i < v.size(); i++){
HParticlePair& pair = *(v[i]);
if(HParticleTool::evalPairsFlags(flag,pair) && (oAngle < 0 || pair.getOpeningAngle() < oAngle )){
if(pair.getCand(0) == cand) candidates.push_back(pair.getCand(1));
else candidates.push_back(pair.getCand(0));
}
}
return candidates.size();
}
return -1;
}
Int_t HParticlePairMaker::filterCandidates (HVirtualCand* cand,vector<HParticlePair*>& filterpairs,UInt_t flag,Float_t oAngle)
{
filterpairs.clear();
map<HVirtualCand*,vector<HParticlePair*> >::iterator it = mCandtoPair.find(cand);
if(it != mCandtoPair.end()){
vector<HParticlePair*>& v = it->second;
for(UInt_t i = 0 ; i < v.size(); i++){
if(HParticleTool::evalPairsFlags(flag,*(v[i])) && ( oAngle < 0 || v[i]->getOpeningAngle() < oAngle) ){
filterpairs.push_back(v[i]);
}
}
} else return -1;
return filterpairs.size();
}
Int_t HParticlePairMaker::getSameRich(HParticleCand* cand,vector<HParticleCand*>& candidates,UInt_t flag,Bool_t isReference)
{
candidates.clear();
if(cand->getRichInd() !=-1 ){
map<Int_t,vector<HParticleCand*> >::iterator it = mRichtoCand.find(cand->getRichInd());
if(it != mRichtoCand.end()){
vector<HParticleCand*>& v = it->second;
for(UInt_t i = 0 ; i < v.size(); i++){
if(v[i] != cand) {
if(flag == 0 ) candidates.push_back(v[i]);
else {
Bool_t fl = kFALSE;
if(!isReference) fl=HParticleTool::evalPairsFlags(fl,cand,v[i]);
else fl=HParticleTool::evalPairsFlags(fl,v[i],cand);
if(fl){
candidates.push_back(v[i]);
}
}
}
}
} else return -1;
}
return candidates.size();
}
Int_t HParticlePairMaker::getSameInnerMdc(HParticleCand* cand,vector<HParticleCand*>& candidates,UInt_t flag,Bool_t isReference)
{
candidates.clear();
if(cand->getInnerSegInd() !=-1 ){
map<Int_t,vector<HParticleCand*> >::iterator it = mInnerMdctoCand.find(cand->getInnerSegInd());
if(it != mInnerMdctoCand.end()){
vector<HParticleCand*>& v = it->second;
for(UInt_t i = 0 ; i < v.size(); i++){
if(v[i] != cand) {
if(flag == 0 ) candidates.push_back(v[i]);
else {
Bool_t fl = kFALSE;
if(!isReference) fl=HParticleTool::evalPairsFlags(fl,cand,v[i]);
else fl=HParticleTool::evalPairsFlags(fl,v[i],cand);
if(fl){
candidates.push_back(v[i]);
}
}
}
}
} else return -1;
}
return candidates.size();
}
Int_t HParticlePairMaker::getSameOuterMdc(HParticleCand* cand,vector<HParticleCand*>& candidates,UInt_t flag,Bool_t isReference)
{
candidates.clear();
if(cand->getOuterSegInd() !=-1 ){
map<Int_t,vector<HParticleCand*> >::iterator it = mOuterMdctoCand.find(cand->getOuterSegInd());
if(it != mOuterMdctoCand.end()){
vector<HParticleCand*>& v = it->second;
for(UInt_t i = 0 ; i < v.size(); i++){
if(v[i] != cand) {
if(flag == 0 ) candidates.push_back(v[i]);
else {
Bool_t fl = kFALSE;
if(!isReference) fl=HParticleTool::evalPairsFlags(fl,cand,v[i]);
else fl=HParticleTool::evalPairsFlags(fl,v[i],cand);
if(fl){
candidates.push_back(v[i]);
}
}
}
}
} else return -1;
}
return candidates.size();
}
Int_t HParticlePairMaker::getSameMeta(HParticleCand* cand,vector<HParticleCand*>& candidates,UInt_t flag,Bool_t isReference)
{
candidates.clear();
Int_t metaind = cand->getMetaHitInd();
Int_t sel = cand->getSelectedMeta();
if(metaind != -1 ){
map<Int_t,vector<HParticleCand*> >* mp =0;
if (sel == kTofClst) mp = &mTofClsttoCand;
else if(sel == kTofHit1||sel==kTofHit2) mp = &mTofHittoCand;
else if(sel == kRpcClst) mp = &mRpcClsttoCand;
else if(sel == kShowerHit) mp = &mShowertoCand;
else if(sel == kEmcClst) mp = &mEmctoCand;
else {
Error("getSameMeta()","unknown Meta case!"); return 0;
}
map<Int_t,vector<HParticleCand*> >::iterator it = mp->find(metaind);
if(it != mp->end()){
vector<HParticleCand*>& v = it->second;
for(UInt_t i = 0 ; i < v.size(); i++){
if(v[i] != cand) {
if(flag == 0 ) candidates.push_back(v[i]);
else {
Bool_t fl = kFALSE;
if(!isReference) fl=HParticleTool::evalPairsFlags(fl,cand,v[i]);
else fl=HParticleTool::evalPairsFlags(fl,v[i],cand);
if(fl){
candidates.push_back(v[i]);
}
}
}
}
} else return -1;
}
return candidates.size();
}
void HParticlePairMaker::plotPairCaseStat()
{
TCanvas* c = new TCanvas("pairCase","pairCase",1500,800);
c->SetGridx();
c->SetGridy();
c->SetBottomMargin(0.15);
UInt_t bins = fCaseVec.size();
TH1F* h = new TH1F("h","",bins,0,bins);
h->SetLineColor(kRed);
h->SetLineWidth(3);
h->SetYTitle("Fraction of pairs [%]");
h->GetXaxis()->SetNdivisions(100+bins);
h->GetXaxis()->SetLabelSize(0);
h->GetYaxis()->SetRangeUser(0.,50.);
Float_t sum = 0;
for(UInt_t i=0;i<bins;i++) sum+=fCaseCt[i];
cout<<"Pairs Cases for Leptons :"<<endl;
for(UInt_t i=0;i<bins;i++){
Float_t frac = 0;
if(sum != 0) frac = (fCaseCt[i]/sum)*100.;
if(sum !=0 ) h->Fill(i,frac);
cout<<Form("case%2i : ",i+1)<<setw(15)<< frac << " cts "<<setw(15)<<fCaseCt[i]<<endl;
}
h->Draw();
Double_t offsetX = 0.25;
Double_t offsetY = -8;
Double_t scaleX = 1.;
Double_t scaleY = 1.;
HParticlePairDraw pairdraw;
for(UInt_t i=0; i < bins; i++){
pairdraw.drawPair(offsetX+i,offsetY,scaleX,scaleY,fCaseVec[i],Form("Case%i",i+1),"");
}
cout<<"sum "<<sum<< " check " <<richCandCt<<endl;
}
hparticlepairmaker.cc:100 hparticlepairmaker.cc:101 hparticlepairmaker.cc:102 hparticlepairmaker.cc:103 hparticlepairmaker.cc:104 hparticlepairmaker.cc:105 hparticlepairmaker.cc:106 hparticlepairmaker.cc:107 hparticlepairmaker.cc:108 hparticlepairmaker.cc:109 hparticlepairmaker.cc:110 hparticlepairmaker.cc:111 hparticlepairmaker.cc:112 hparticlepairmaker.cc:113 hparticlepairmaker.cc:114 hparticlepairmaker.cc:115 hparticlepairmaker.cc:116 hparticlepairmaker.cc:117 hparticlepairmaker.cc:118 hparticlepairmaker.cc:119 hparticlepairmaker.cc:120 hparticlepairmaker.cc:121 hparticlepairmaker.cc:122 hparticlepairmaker.cc:123 hparticlepairmaker.cc:124 hparticlepairmaker.cc:125 hparticlepairmaker.cc:126 hparticlepairmaker.cc:127 hparticlepairmaker.cc:128 hparticlepairmaker.cc:129 hparticlepairmaker.cc:130 hparticlepairmaker.cc:131 hparticlepairmaker.cc:132 hparticlepairmaker.cc:133 hparticlepairmaker.cc:134 hparticlepairmaker.cc:135 hparticlepairmaker.cc:136 hparticlepairmaker.cc:137 hparticlepairmaker.cc:138 hparticlepairmaker.cc:139 hparticlepairmaker.cc:140 hparticlepairmaker.cc:141 hparticlepairmaker.cc:142 hparticlepairmaker.cc:143 hparticlepairmaker.cc:144 hparticlepairmaker.cc:145 hparticlepairmaker.cc:146 hparticlepairmaker.cc:147 hparticlepairmaker.cc:148 hparticlepairmaker.cc:149 hparticlepairmaker.cc:150 hparticlepairmaker.cc:151 hparticlepairmaker.cc:152 hparticlepairmaker.cc:153 hparticlepairmaker.cc:154 hparticlepairmaker.cc:155 hparticlepairmaker.cc:156 hparticlepairmaker.cc:157 hparticlepairmaker.cc:158 hparticlepairmaker.cc:159 hparticlepairmaker.cc:160 hparticlepairmaker.cc:161 hparticlepairmaker.cc:162 hparticlepairmaker.cc:163 hparticlepairmaker.cc:164 hparticlepairmaker.cc:165 hparticlepairmaker.cc:166 hparticlepairmaker.cc:167 hparticlepairmaker.cc:168 hparticlepairmaker.cc:169 hparticlepairmaker.cc:170 hparticlepairmaker.cc:171 hparticlepairmaker.cc:172 hparticlepairmaker.cc:173 hparticlepairmaker.cc:174 hparticlepairmaker.cc:175 hparticlepairmaker.cc:176 hparticlepairmaker.cc:177 hparticlepairmaker.cc:178 hparticlepairmaker.cc:179 hparticlepairmaker.cc:180 hparticlepairmaker.cc:181 hparticlepairmaker.cc:182 hparticlepairmaker.cc:183 hparticlepairmaker.cc:184 hparticlepairmaker.cc:185 hparticlepairmaker.cc:186 hparticlepairmaker.cc:187 hparticlepairmaker.cc:188 hparticlepairmaker.cc:189 hparticlepairmaker.cc:190 hparticlepairmaker.cc:191 hparticlepairmaker.cc:192 hparticlepairmaker.cc:193 hparticlepairmaker.cc:194 hparticlepairmaker.cc:195 hparticlepairmaker.cc:196 hparticlepairmaker.cc:197 hparticlepairmaker.cc:198 hparticlepairmaker.cc:199 hparticlepairmaker.cc:200 hparticlepairmaker.cc:201 hparticlepairmaker.cc:202 hparticlepairmaker.cc:203 hparticlepairmaker.cc:204 hparticlepairmaker.cc:205 hparticlepairmaker.cc:206 hparticlepairmaker.cc:207 hparticlepairmaker.cc:208 hparticlepairmaker.cc:209 hparticlepairmaker.cc:210 hparticlepairmaker.cc:211 hparticlepairmaker.cc:212 hparticlepairmaker.cc:213 hparticlepairmaker.cc:214 hparticlepairmaker.cc:215 hparticlepairmaker.cc:216 hparticlepairmaker.cc:217 hparticlepairmaker.cc:218 hparticlepairmaker.cc:219 hparticlepairmaker.cc:220 hparticlepairmaker.cc:221 hparticlepairmaker.cc:222 hparticlepairmaker.cc:223 hparticlepairmaker.cc:224 hparticlepairmaker.cc:225 hparticlepairmaker.cc:226 hparticlepairmaker.cc:227 hparticlepairmaker.cc:228 hparticlepairmaker.cc:229 hparticlepairmaker.cc:230 hparticlepairmaker.cc:231 hparticlepairmaker.cc:232 hparticlepairmaker.cc:233 hparticlepairmaker.cc:234 hparticlepairmaker.cc:235 hparticlepairmaker.cc:236 hparticlepairmaker.cc:237 hparticlepairmaker.cc:238 hparticlepairmaker.cc:239 hparticlepairmaker.cc:240 hparticlepairmaker.cc:241 hparticlepairmaker.cc:242 hparticlepairmaker.cc:243 hparticlepairmaker.cc:244 hparticlepairmaker.cc:245 hparticlepairmaker.cc:246 hparticlepairmaker.cc:247 hparticlepairmaker.cc:248 hparticlepairmaker.cc:249 hparticlepairmaker.cc:250 hparticlepairmaker.cc:251 hparticlepairmaker.cc:252 hparticlepairmaker.cc:253 hparticlepairmaker.cc:254 hparticlepairmaker.cc:255 hparticlepairmaker.cc:256 hparticlepairmaker.cc:257 hparticlepairmaker.cc:258 hparticlepairmaker.cc:259 hparticlepairmaker.cc:260 hparticlepairmaker.cc:261 hparticlepairmaker.cc:262 hparticlepairmaker.cc:263 hparticlepairmaker.cc:264 hparticlepairmaker.cc:265 hparticlepairmaker.cc:266 hparticlepairmaker.cc:267 hparticlepairmaker.cc:268 hparticlepairmaker.cc:269 hparticlepairmaker.cc:270 hparticlepairmaker.cc:271 hparticlepairmaker.cc:272 hparticlepairmaker.cc:273 hparticlepairmaker.cc:274 hparticlepairmaker.cc:275 hparticlepairmaker.cc:276 hparticlepairmaker.cc:277 hparticlepairmaker.cc:278 hparticlepairmaker.cc:279 hparticlepairmaker.cc:280 hparticlepairmaker.cc:281 hparticlepairmaker.cc:282 hparticlepairmaker.cc:283 hparticlepairmaker.cc:284 hparticlepairmaker.cc:285 hparticlepairmaker.cc:286 hparticlepairmaker.cc:287 hparticlepairmaker.cc:288 hparticlepairmaker.cc:289 hparticlepairmaker.cc:290 hparticlepairmaker.cc:291 hparticlepairmaker.cc:292 hparticlepairmaker.cc:293 hparticlepairmaker.cc:294 hparticlepairmaker.cc:295 hparticlepairmaker.cc:296 hparticlepairmaker.cc:297 hparticlepairmaker.cc:298 hparticlepairmaker.cc:299 hparticlepairmaker.cc:300 hparticlepairmaker.cc:301 hparticlepairmaker.cc:302 hparticlepairmaker.cc:303 hparticlepairmaker.cc:304 hparticlepairmaker.cc:305 hparticlepairmaker.cc:306 hparticlepairmaker.cc:307 hparticlepairmaker.cc:308 hparticlepairmaker.cc:309 hparticlepairmaker.cc:310 hparticlepairmaker.cc:311 hparticlepairmaker.cc:312 hparticlepairmaker.cc:313 hparticlepairmaker.cc:314 hparticlepairmaker.cc:315 hparticlepairmaker.cc:316 hparticlepairmaker.cc:317 hparticlepairmaker.cc:318 hparticlepairmaker.cc:319 hparticlepairmaker.cc:320 hparticlepairmaker.cc:321 hparticlepairmaker.cc:322 hparticlepairmaker.cc:323 hparticlepairmaker.cc:324 hparticlepairmaker.cc:325 hparticlepairmaker.cc:326 hparticlepairmaker.cc:327 hparticlepairmaker.cc:328 hparticlepairmaker.cc:329 hparticlepairmaker.cc:330 hparticlepairmaker.cc:331 hparticlepairmaker.cc:332 hparticlepairmaker.cc:333 hparticlepairmaker.cc:334 hparticlepairmaker.cc:335 hparticlepairmaker.cc:336 hparticlepairmaker.cc:337 hparticlepairmaker.cc:338 hparticlepairmaker.cc:339 hparticlepairmaker.cc:340 hparticlepairmaker.cc:341 hparticlepairmaker.cc:342 hparticlepairmaker.cc:343 hparticlepairmaker.cc:344 hparticlepairmaker.cc:345 hparticlepairmaker.cc:346 hparticlepairmaker.cc:347 hparticlepairmaker.cc:348 hparticlepairmaker.cc:349 hparticlepairmaker.cc:350 hparticlepairmaker.cc:351 hparticlepairmaker.cc:352 hparticlepairmaker.cc:353 hparticlepairmaker.cc:354 hparticlepairmaker.cc:355 hparticlepairmaker.cc:356 hparticlepairmaker.cc:357 hparticlepairmaker.cc:358 hparticlepairmaker.cc:359 hparticlepairmaker.cc:360 hparticlepairmaker.cc:361 hparticlepairmaker.cc:362 hparticlepairmaker.cc:363 hparticlepairmaker.cc:364 hparticlepairmaker.cc:365 hparticlepairmaker.cc:366 hparticlepairmaker.cc:367 hparticlepairmaker.cc:368 hparticlepairmaker.cc:369 hparticlepairmaker.cc:370 hparticlepairmaker.cc:371 hparticlepairmaker.cc:372 hparticlepairmaker.cc:373 hparticlepairmaker.cc:374 hparticlepairmaker.cc:375 hparticlepairmaker.cc:376 hparticlepairmaker.cc:377 hparticlepairmaker.cc:378 hparticlepairmaker.cc:379 hparticlepairmaker.cc:380 hparticlepairmaker.cc:381 hparticlepairmaker.cc:382 hparticlepairmaker.cc:383 hparticlepairmaker.cc:384 hparticlepairmaker.cc:385 hparticlepairmaker.cc:386 hparticlepairmaker.cc:387 hparticlepairmaker.cc:388 hparticlepairmaker.cc:389 hparticlepairmaker.cc:390 hparticlepairmaker.cc:391 hparticlepairmaker.cc:392 hparticlepairmaker.cc:393 hparticlepairmaker.cc:394 hparticlepairmaker.cc:395 hparticlepairmaker.cc:396 hparticlepairmaker.cc:397 hparticlepairmaker.cc:398 hparticlepairmaker.cc:399 hparticlepairmaker.cc:400 hparticlepairmaker.cc:401 hparticlepairmaker.cc:402 hparticlepairmaker.cc:403 hparticlepairmaker.cc:404 hparticlepairmaker.cc:405 hparticlepairmaker.cc:406 hparticlepairmaker.cc:407 hparticlepairmaker.cc:408 hparticlepairmaker.cc:409 hparticlepairmaker.cc:410 hparticlepairmaker.cc:411 hparticlepairmaker.cc:412 hparticlepairmaker.cc:413 hparticlepairmaker.cc:414 hparticlepairmaker.cc:415 hparticlepairmaker.cc:416 hparticlepairmaker.cc:417 hparticlepairmaker.cc:418 hparticlepairmaker.cc:419 hparticlepairmaker.cc:420 hparticlepairmaker.cc:421 hparticlepairmaker.cc:422 hparticlepairmaker.cc:423 hparticlepairmaker.cc:424 hparticlepairmaker.cc:425 hparticlepairmaker.cc:426 hparticlepairmaker.cc:427 hparticlepairmaker.cc:428 hparticlepairmaker.cc:429 hparticlepairmaker.cc:430 hparticlepairmaker.cc:431 hparticlepairmaker.cc:432 hparticlepairmaker.cc:433 hparticlepairmaker.cc:434 hparticlepairmaker.cc:435 hparticlepairmaker.cc:436 hparticlepairmaker.cc:437 hparticlepairmaker.cc:438 hparticlepairmaker.cc:439 hparticlepairmaker.cc:440 hparticlepairmaker.cc:441 hparticlepairmaker.cc:442 hparticlepairmaker.cc:443 hparticlepairmaker.cc:444 hparticlepairmaker.cc:445 hparticlepairmaker.cc:446 hparticlepairmaker.cc:447 hparticlepairmaker.cc:448 hparticlepairmaker.cc:449 hparticlepairmaker.cc:450 hparticlepairmaker.cc:451 hparticlepairmaker.cc:452 hparticlepairmaker.cc:453 hparticlepairmaker.cc:454 hparticlepairmaker.cc:455 hparticlepairmaker.cc:456 hparticlepairmaker.cc:457 hparticlepairmaker.cc:458 hparticlepairmaker.cc:459 hparticlepairmaker.cc:460 hparticlepairmaker.cc:461 hparticlepairmaker.cc:462 hparticlepairmaker.cc:463 hparticlepairmaker.cc:464 hparticlepairmaker.cc:465 hparticlepairmaker.cc:466 hparticlepairmaker.cc:467 hparticlepairmaker.cc:468 hparticlepairmaker.cc:469 hparticlepairmaker.cc:470 hparticlepairmaker.cc:471 hparticlepairmaker.cc:472 hparticlepairmaker.cc:473 hparticlepairmaker.cc:474 hparticlepairmaker.cc:475 hparticlepairmaker.cc:476 hparticlepairmaker.cc:477 hparticlepairmaker.cc:478 hparticlepairmaker.cc:479 hparticlepairmaker.cc:480 hparticlepairmaker.cc:481 hparticlepairmaker.cc:482 hparticlepairmaker.cc:483 hparticlepairmaker.cc:484 hparticlepairmaker.cc:485 hparticlepairmaker.cc:486 hparticlepairmaker.cc:487 hparticlepairmaker.cc:488 hparticlepairmaker.cc:489 hparticlepairmaker.cc:490 hparticlepairmaker.cc:491 hparticlepairmaker.cc:492 hparticlepairmaker.cc:493 hparticlepairmaker.cc:494 hparticlepairmaker.cc:495 hparticlepairmaker.cc:496 hparticlepairmaker.cc:497 hparticlepairmaker.cc:498 hparticlepairmaker.cc:499 hparticlepairmaker.cc:500 hparticlepairmaker.cc:501 hparticlepairmaker.cc:502 hparticlepairmaker.cc:503 hparticlepairmaker.cc:504 hparticlepairmaker.cc:505 hparticlepairmaker.cc:506 hparticlepairmaker.cc:507 hparticlepairmaker.cc:508 hparticlepairmaker.cc:509 hparticlepairmaker.cc:510 hparticlepairmaker.cc:511 hparticlepairmaker.cc:512 hparticlepairmaker.cc:513 hparticlepairmaker.cc:514 hparticlepairmaker.cc:515 hparticlepairmaker.cc:516 hparticlepairmaker.cc:517 hparticlepairmaker.cc:518 hparticlepairmaker.cc:519 hparticlepairmaker.cc:520 hparticlepairmaker.cc:521 hparticlepairmaker.cc:522 hparticlepairmaker.cc:523 hparticlepairmaker.cc:524 hparticlepairmaker.cc:525 hparticlepairmaker.cc:526 hparticlepairmaker.cc:527 hparticlepairmaker.cc:528 hparticlepairmaker.cc:529 hparticlepairmaker.cc:530 hparticlepairmaker.cc:531 hparticlepairmaker.cc:532 hparticlepairmaker.cc:533 hparticlepairmaker.cc:534 hparticlepairmaker.cc:535 hparticlepairmaker.cc:536 hparticlepairmaker.cc:537 hparticlepairmaker.cc:538 hparticlepairmaker.cc:539 hparticlepairmaker.cc:540 hparticlepairmaker.cc:541 hparticlepairmaker.cc:542 hparticlepairmaker.cc:543 hparticlepairmaker.cc:544 hparticlepairmaker.cc:545 hparticlepairmaker.cc:546 hparticlepairmaker.cc:547 hparticlepairmaker.cc:548 hparticlepairmaker.cc:549 hparticlepairmaker.cc:550 hparticlepairmaker.cc:551 hparticlepairmaker.cc:552 hparticlepairmaker.cc:553 hparticlepairmaker.cc:554 hparticlepairmaker.cc:555 hparticlepairmaker.cc:556 hparticlepairmaker.cc:557 hparticlepairmaker.cc:558 hparticlepairmaker.cc:559 hparticlepairmaker.cc:560 hparticlepairmaker.cc:561 hparticlepairmaker.cc:562 hparticlepairmaker.cc:563 hparticlepairmaker.cc:564 hparticlepairmaker.cc:565 hparticlepairmaker.cc:566 hparticlepairmaker.cc:567 hparticlepairmaker.cc:568 hparticlepairmaker.cc:569 hparticlepairmaker.cc:570 hparticlepairmaker.cc:571 hparticlepairmaker.cc:572 hparticlepairmaker.cc:573 hparticlepairmaker.cc:574 hparticlepairmaker.cc:575 hparticlepairmaker.cc:576 hparticlepairmaker.cc:577 hparticlepairmaker.cc:578 hparticlepairmaker.cc:579 hparticlepairmaker.cc:580 hparticlepairmaker.cc:581 hparticlepairmaker.cc:582 hparticlepairmaker.cc:583 hparticlepairmaker.cc:584 hparticlepairmaker.cc:585 hparticlepairmaker.cc:586 hparticlepairmaker.cc:587 hparticlepairmaker.cc:588 hparticlepairmaker.cc:589 hparticlepairmaker.cc:590 hparticlepairmaker.cc:591 hparticlepairmaker.cc:592 hparticlepairmaker.cc:593 hparticlepairmaker.cc:594 hparticlepairmaker.cc:595 hparticlepairmaker.cc:596 hparticlepairmaker.cc:597 hparticlepairmaker.cc:598 hparticlepairmaker.cc:599 hparticlepairmaker.cc:600 hparticlepairmaker.cc:601 hparticlepairmaker.cc:602 hparticlepairmaker.cc:603 hparticlepairmaker.cc:604 hparticlepairmaker.cc:605 hparticlepairmaker.cc:606 hparticlepairmaker.cc:607 hparticlepairmaker.cc:608 hparticlepairmaker.cc:609 hparticlepairmaker.cc:610 hparticlepairmaker.cc:611 hparticlepairmaker.cc:612 hparticlepairmaker.cc:613 hparticlepairmaker.cc:614 hparticlepairmaker.cc:615 hparticlepairmaker.cc:616 hparticlepairmaker.cc:617 hparticlepairmaker.cc:618 hparticlepairmaker.cc:619 hparticlepairmaker.cc:620 hparticlepairmaker.cc:621 hparticlepairmaker.cc:622 hparticlepairmaker.cc:623 hparticlepairmaker.cc:624 hparticlepairmaker.cc:625 hparticlepairmaker.cc:626 hparticlepairmaker.cc:627 hparticlepairmaker.cc:628 hparticlepairmaker.cc:629 hparticlepairmaker.cc:630 hparticlepairmaker.cc:631 hparticlepairmaker.cc:632 hparticlepairmaker.cc:633 hparticlepairmaker.cc:634 hparticlepairmaker.cc:635 hparticlepairmaker.cc:636 hparticlepairmaker.cc:637 hparticlepairmaker.cc:638 hparticlepairmaker.cc:639 hparticlepairmaker.cc:640 hparticlepairmaker.cc:641 hparticlepairmaker.cc:642 hparticlepairmaker.cc:643 hparticlepairmaker.cc:644 hparticlepairmaker.cc:645 hparticlepairmaker.cc:646 hparticlepairmaker.cc:647 hparticlepairmaker.cc:648 hparticlepairmaker.cc:649 hparticlepairmaker.cc:650 hparticlepairmaker.cc:651 hparticlepairmaker.cc:652 hparticlepairmaker.cc:653 hparticlepairmaker.cc:654 hparticlepairmaker.cc:655 hparticlepairmaker.cc:656 hparticlepairmaker.cc:657 hparticlepairmaker.cc:658 hparticlepairmaker.cc:659 hparticlepairmaker.cc:660 hparticlepairmaker.cc:661 hparticlepairmaker.cc:662 hparticlepairmaker.cc:663 hparticlepairmaker.cc:664 hparticlepairmaker.cc:665 hparticlepairmaker.cc:666 hparticlepairmaker.cc:667 hparticlepairmaker.cc:668 hparticlepairmaker.cc:669 hparticlepairmaker.cc:670 hparticlepairmaker.cc:671 hparticlepairmaker.cc:672 hparticlepairmaker.cc:673 hparticlepairmaker.cc:674 hparticlepairmaker.cc:675 hparticlepairmaker.cc:676 hparticlepairmaker.cc:677 hparticlepairmaker.cc:678 hparticlepairmaker.cc:679 hparticlepairmaker.cc:680 hparticlepairmaker.cc:681 hparticlepairmaker.cc:682 hparticlepairmaker.cc:683 hparticlepairmaker.cc:684 hparticlepairmaker.cc:685 hparticlepairmaker.cc:686 hparticlepairmaker.cc:687 hparticlepairmaker.cc:688 hparticlepairmaker.cc:689 hparticlepairmaker.cc:690 hparticlepairmaker.cc:691 hparticlepairmaker.cc:692 hparticlepairmaker.cc:693 hparticlepairmaker.cc:694 hparticlepairmaker.cc:695 hparticlepairmaker.cc:696 hparticlepairmaker.cc:697 hparticlepairmaker.cc:698 hparticlepairmaker.cc:699 hparticlepairmaker.cc:700 hparticlepairmaker.cc:701 hparticlepairmaker.cc:702 hparticlepairmaker.cc:703 hparticlepairmaker.cc:704 hparticlepairmaker.cc:705 hparticlepairmaker.cc:706 hparticlepairmaker.cc:707 hparticlepairmaker.cc:708 hparticlepairmaker.cc:709 hparticlepairmaker.cc:710 hparticlepairmaker.cc:711 hparticlepairmaker.cc:712 hparticlepairmaker.cc:713 hparticlepairmaker.cc:714 hparticlepairmaker.cc:715 hparticlepairmaker.cc:716 hparticlepairmaker.cc:717 hparticlepairmaker.cc:718 hparticlepairmaker.cc:719 hparticlepairmaker.cc:720 hparticlepairmaker.cc:721 hparticlepairmaker.cc:722 hparticlepairmaker.cc:723 hparticlepairmaker.cc:724 hparticlepairmaker.cc:725 hparticlepairmaker.cc:726 hparticlepairmaker.cc:727 hparticlepairmaker.cc:728 hparticlepairmaker.cc:729 hparticlepairmaker.cc:730 hparticlepairmaker.cc:731 hparticlepairmaker.cc:732 hparticlepairmaker.cc:733 hparticlepairmaker.cc:734 hparticlepairmaker.cc:735 hparticlepairmaker.cc:736 hparticlepairmaker.cc:737 hparticlepairmaker.cc:738 hparticlepairmaker.cc:739 hparticlepairmaker.cc:740 hparticlepairmaker.cc:741 hparticlepairmaker.cc:742 hparticlepairmaker.cc:743 hparticlepairmaker.cc:744 hparticlepairmaker.cc:745 hparticlepairmaker.cc:746 hparticlepairmaker.cc:747 hparticlepairmaker.cc:748 hparticlepairmaker.cc:749 hparticlepairmaker.cc:750 hparticlepairmaker.cc:751 hparticlepairmaker.cc:752 hparticlepairmaker.cc:753 hparticlepairmaker.cc:754 hparticlepairmaker.cc:755 hparticlepairmaker.cc:756 hparticlepairmaker.cc:757 hparticlepairmaker.cc:758 hparticlepairmaker.cc:759 hparticlepairmaker.cc:760 hparticlepairmaker.cc:761 hparticlepairmaker.cc:762 hparticlepairmaker.cc:763 hparticlepairmaker.cc:764 hparticlepairmaker.cc:765 hparticlepairmaker.cc:766 hparticlepairmaker.cc:767 hparticlepairmaker.cc:768 hparticlepairmaker.cc:769 hparticlepairmaker.cc:770 hparticlepairmaker.cc:771 hparticlepairmaker.cc:772 hparticlepairmaker.cc:773 hparticlepairmaker.cc:774 hparticlepairmaker.cc:775 hparticlepairmaker.cc:776 hparticlepairmaker.cc:777 hparticlepairmaker.cc:778 hparticlepairmaker.cc:779 hparticlepairmaker.cc:780 hparticlepairmaker.cc:781 hparticlepairmaker.cc:782 hparticlepairmaker.cc:783 hparticlepairmaker.cc:784 hparticlepairmaker.cc:785 hparticlepairmaker.cc:786 hparticlepairmaker.cc:787 hparticlepairmaker.cc:788 hparticlepairmaker.cc:789 hparticlepairmaker.cc:790 hparticlepairmaker.cc:791 hparticlepairmaker.cc:792 hparticlepairmaker.cc:793 hparticlepairmaker.cc:794 hparticlepairmaker.cc:795 hparticlepairmaker.cc:796 hparticlepairmaker.cc:797 hparticlepairmaker.cc:798 hparticlepairmaker.cc:799 hparticlepairmaker.cc:800 hparticlepairmaker.cc:801 hparticlepairmaker.cc:802 hparticlepairmaker.cc:803 hparticlepairmaker.cc:804 hparticlepairmaker.cc:805 hparticlepairmaker.cc:806 hparticlepairmaker.cc:807 hparticlepairmaker.cc:808 hparticlepairmaker.cc:809 hparticlepairmaker.cc:810 hparticlepairmaker.cc:811 hparticlepairmaker.cc:812 hparticlepairmaker.cc:813 hparticlepairmaker.cc:814 hparticlepairmaker.cc:815 hparticlepairmaker.cc:816 hparticlepairmaker.cc:817 hparticlepairmaker.cc:818 hparticlepairmaker.cc:819 hparticlepairmaker.cc:820 hparticlepairmaker.cc:821 hparticlepairmaker.cc:822 hparticlepairmaker.cc:823 hparticlepairmaker.cc:824 hparticlepairmaker.cc:825 hparticlepairmaker.cc:826 hparticlepairmaker.cc:827 hparticlepairmaker.cc:828 hparticlepairmaker.cc:829 hparticlepairmaker.cc:830 hparticlepairmaker.cc:831 hparticlepairmaker.cc:832 hparticlepairmaker.cc:833 hparticlepairmaker.cc:834 hparticlepairmaker.cc:835 hparticlepairmaker.cc:836 hparticlepairmaker.cc:837 hparticlepairmaker.cc:838 hparticlepairmaker.cc:839 hparticlepairmaker.cc:840 hparticlepairmaker.cc:841 hparticlepairmaker.cc:842 hparticlepairmaker.cc:843 hparticlepairmaker.cc:844 hparticlepairmaker.cc:845 hparticlepairmaker.cc:846 hparticlepairmaker.cc:847 hparticlepairmaker.cc:848 hparticlepairmaker.cc:849 hparticlepairmaker.cc:850 hparticlepairmaker.cc:851 hparticlepairmaker.cc:852 hparticlepairmaker.cc:853 hparticlepairmaker.cc:854 hparticlepairmaker.cc:855 hparticlepairmaker.cc:856 hparticlepairmaker.cc:857 hparticlepairmaker.cc:858 hparticlepairmaker.cc:859 hparticlepairmaker.cc:860 hparticlepairmaker.cc:861 hparticlepairmaker.cc:862 hparticlepairmaker.cc:863 hparticlepairmaker.cc:864 hparticlepairmaker.cc:865 hparticlepairmaker.cc:866 hparticlepairmaker.cc:867 hparticlepairmaker.cc:868 hparticlepairmaker.cc:869 hparticlepairmaker.cc:870 hparticlepairmaker.cc:871 hparticlepairmaker.cc:872 hparticlepairmaker.cc:873 hparticlepairmaker.cc:874 hparticlepairmaker.cc:875 hparticlepairmaker.cc:876 hparticlepairmaker.cc:877 hparticlepairmaker.cc:878 hparticlepairmaker.cc:879 hparticlepairmaker.cc:880 hparticlepairmaker.cc:881 hparticlepairmaker.cc:882 hparticlepairmaker.cc:883 hparticlepairmaker.cc:884 hparticlepairmaker.cc:885 hparticlepairmaker.cc:886 hparticlepairmaker.cc:887 hparticlepairmaker.cc:888 hparticlepairmaker.cc:889 hparticlepairmaker.cc:890 hparticlepairmaker.cc:891 hparticlepairmaker.cc:892 hparticlepairmaker.cc:893 hparticlepairmaker.cc:894 hparticlepairmaker.cc:895 hparticlepairmaker.cc:896 hparticlepairmaker.cc:897 hparticlepairmaker.cc:898 hparticlepairmaker.cc:899 hparticlepairmaker.cc:900 hparticlepairmaker.cc:901 hparticlepairmaker.cc:902 hparticlepairmaker.cc:903 hparticlepairmaker.cc:904 hparticlepairmaker.cc:905 hparticlepairmaker.cc:906 hparticlepairmaker.cc:907 hparticlepairmaker.cc:908 hparticlepairmaker.cc:909 hparticlepairmaker.cc:910 hparticlepairmaker.cc:911 hparticlepairmaker.cc:912 hparticlepairmaker.cc:913 hparticlepairmaker.cc:914 hparticlepairmaker.cc:915 hparticlepairmaker.cc:916 hparticlepairmaker.cc:917 hparticlepairmaker.cc:918 hparticlepairmaker.cc:919 hparticlepairmaker.cc:920 hparticlepairmaker.cc:921 hparticlepairmaker.cc:922 hparticlepairmaker.cc:923 hparticlepairmaker.cc:924 hparticlepairmaker.cc:925 hparticlepairmaker.cc:926 hparticlepairmaker.cc:927 hparticlepairmaker.cc:928 hparticlepairmaker.cc:929 hparticlepairmaker.cc:930 hparticlepairmaker.cc:931 hparticlepairmaker.cc:932 hparticlepairmaker.cc:933 hparticlepairmaker.cc:934 hparticlepairmaker.cc:935 hparticlepairmaker.cc:936 hparticlepairmaker.cc:937 hparticlepairmaker.cc:938 hparticlepairmaker.cc:939 hparticlepairmaker.cc:940 hparticlepairmaker.cc:941 hparticlepairmaker.cc:942 hparticlepairmaker.cc:943 hparticlepairmaker.cc:944 hparticlepairmaker.cc:945 hparticlepairmaker.cc:946 hparticlepairmaker.cc:947 hparticlepairmaker.cc:948 hparticlepairmaker.cc:949 hparticlepairmaker.cc:950 hparticlepairmaker.cc:951