ROOT logo

#include "hparticlepairdraw.h"


#include "TCanvas.h"
#include "TPad.h"
#include "TStyle.h"
#include "TH1F.h"

ClassImp(HParticleDraw)
ClassImp(HParticlePairDraw)

#include <iostream>

using namespace Particle;
using namespace std;

//_HADES_CLASS_DESCRIPTION
////////////////////////////////////////////////////////////////////////////////
//
//
// HParticlePairDraw
//
// Helper class to draw pair cases
//  (HParticleDraw works for single tracks using eClosePairSelect flags
//  for candidate 2 (kxxx2) (hparticledef.h).)
//
//    Example:
//
//
//    TCanvas* c = new TCanvas("pairCase","pairCase",1500,800);
//    c->SetGridx();
//    c->SetGridy();
//    c->SetBottomMargin(0.25); // 0.15
//
//
//    Double_t offsetX  =  0.25;
//    Double_t offsetY  = -8;
//    Double_t scaleX   =  1;
//    Double_t scaleY   =  1;
//
//    HParticlePairDraw pairdraw;
//
//    vector<UInt_t> cases;
//
//
//    cases.push_back(kPairCase1|kIsLepton2|kNoSamePolarity|kNoFittedInnerMDC2|kRK2);
//    cases.push_back(kPairCase2|kIsUsed2);
//    cases.push_back(kPairCase3|kNoRK2);
//    cases.push_back(kPairCase4);
//    cases.push_back(kPairCase5);
//    cases.push_back(kPairCase6);
//    cases.push_back(kPairCase7|kNoFittedInnerMDC2);
//    cases.push_back(kPairCase8|kNoFittedOuterMDC2);
//    cases.push_back(kPairCase9);
//    cases.push_back(kPairCase10);
//    cases.push_back(kPairCase11);
//    cases.push_back(kPairCase12);
//
//    cases.push_back(kPairCase13);
//    cases.push_back(kPairCase14);
//    cases.push_back(kPairCase15);
//    cases.push_back(kPairCase16);
//    cases.push_back(kPairCase17);
//    cases.push_back(kPairCase18);
//    cases.push_back(kPairCase19);
//    cases.push_back(kPairCase20);
//
//
//    UInt_t bins = cases.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.);
//
//    for(Int_t i=0;i<100;i++){
//	h->Fill(gRandom->Rndm()*bins);
//    }
//    h->Draw();
//
//    for(UInt_t i=0; i < bins; i++){
//	pairdraw.drawPair(offsetX+i,offsetY,scaleX,scaleY,cases[i],Form("Case%i",i+1),"RK<100,oA<5,MQA<2,RQA<2,#beta>0.9");
//    }
////////////////////////////////////////////////////////////////////////////////

HParticleDraw::HParticleDraw()
{

    flineWidth = 2;

    frefColor          = kBlack;
    fusedColor         = kGreen;
    fleptonColor       = kRed;
    fmetaColor         = kBlue;
    frichColor         = kOrange;

    ffittedStyle       = 1;
    fnoFittedStyle     = 2;
    fuseRICH           = kTRUE;
    ftextSizeScale     = 1.;
    ftextSizeInfoScale = 1.;
}

HParticleDraw::~HParticleDraw()
{

}

void HParticleDraw::drawParticle(Double_t xoff,Double_t yoff,
				 Double_t scx,Double_t scy,
				 UInt_t flag,TString nameCase,TString cuts)
{

    if(HParticleTool::isPairsFlagsBit(flag,kNoUseRICH))  fuseRICH=kFALSE;
    else                                                 fuseRICH=kTRUE;

    Double_t offsetX  = xoff;
    Double_t offsetY  = yoff;

    Double_t scaleX       = 0.2 *scx;
    Double_t scaleY       = 0.25*scy;

    Double_t dYLeg    = 10   *scaleY;
    Double_t dXLeg    =  1   *scaleX;
    Double_t dXLeg2   =  0.25*scaleX;

    Double_t yLowLegLow = offsetY;
    Double_t yLowLegUp  = yLowLegLow+dYLeg;

    Double_t yUpLegLow  = yLowLegUp;
    Double_t yUpLegUp   = yUpLegLow+dYLeg;

    Double_t yRich      = yLowLegLow-(3*scaleY);
    Double_t yMeta      = yUpLegUp  +(3*scaleY);
    Double_t yText      = yMeta     +(3*scaleY);

    Double_t richR      = 0.5*scaleX;
    Double_t richR2     = 5;

    Double_t textsize     = ftextSizeScale*0.09*scaleX;
    Double_t textsizeInfo = ftextSizeInfoScale*0.08*scaleX;
    Double_t textInfoY    = yLowLegUp -(1*scaleY);


    TLine* l ;
    TEllipse* R;
    TLatex* paircase = new TLatex();
    paircase->SetTextSize(textsize);

    paircase->DrawLatex(offsetX,yText,Form("%s",nameCase.Data()));
    if(HParticleTool::isPairsFlagsBit(flag,kNoRK2|kOuterMDC2)){ // no RK
	paircase->SetTextSize(textsizeInfo);
	paircase->DrawLatex(offsetX + dXLeg +dXLeg2,textInfoY,"-RK");
    }
    if(HParticleTool::isPairsFlagsBit(flag,kRK2)){ //  RK
	paircase->SetTextSize(textsizeInfo);
	paircase->DrawLatex(offsetX + dXLeg +dXLeg2,textInfoY,"+RK");
    }
    if(HParticleTool::isPairsFlagsBit(flag,kSamePosPolarity)){ // pos polarity
	paircase->SetTextSize(textsizeInfo);
	paircase->DrawLatex(offsetX -dXLeg2 ,textInfoY,"+");
    }
    if(HParticleTool::isPairsFlagsBit(flag,kSameNegPolarity)){ // neg polarity
	paircase->SetTextSize(textsizeInfo);
	paircase->DrawLatex(offsetX -dXLeg2,textInfoY,"-");
    }

    if(cuts != ""){

	TObjArray* ar = cuts.Tokenize(",");

	for(Int_t i = 0 ; i< ar->GetEntries(); i++){
	    paircase->SetTextSize(textsizeInfo*0.8);
	    paircase->DrawLatex(offsetX -dXLeg2 ,yRich-(3*scaleY) - ( (i+1)*5*scaleY),((TObjString*)ar->At(i))->GetString().Data());
	}

	if(ar) delete ar;
    }

    //----------------------------------------------------------------------------------
    // RICH
    if(fuseRICH){
	if(HParticleTool::isPairsFlagsBit(flag,kRICH2)){ // draw RICH middle
	    R = new TEllipse(offsetX+dXLeg+0.5*dXLeg2,yRich,richR, richR2*richR);  // Rich middle
	    R->SetLineColor(frichColor);
	    R->SetLineWidth(flineWidth);
	    R->Draw();
	}
    }
    //----------------------------------------------------------------------------------

    //----------------------------------------------------------------------------------
    // META
    if(HParticleTool::isPairsFlagsBit(flag,kMETA2)){ // draw Meta middle
	R = new TEllipse(offsetX+dXLeg+0.5*dXLeg2,yMeta,richR, richR2*richR);  // Meta middle
	R->SetLineColor(fmetaColor);
	R->SetLineWidth(flineWidth);
	R->Draw();
    }
    //----------------------------------------------------------------------------------


    //----------------------------------------------------------------------------------
    // Inner MDC
    {
	l = new TLine(offsetX+dXLeg+0.5*dXLeg2,yLowLegLow ,offsetX+dXLeg+0.5*dXLeg2,yLowLegUp);   // middle lower leg
	if(HParticleTool::isPairsFlagsBit(flag,kNoFittedInnerMDC2)) l->SetLineStyle(fnoFittedStyle);
	if(HParticleTool::isPairsFlagsBit(flag,kIsUsed2))           l->SetLineColor(fusedColor);
	if(HParticleTool::isPairsFlagsBit(flag,kIsLepton2))         l->SetLineColor(fleptonColor);
	l->SetLineWidth(flineWidth);
	l->Draw();
    }
    //----------------------------------------------------------------------------------

    //----------------------------------------------------------------------------------
    // outer MDC
    if(HParticleTool::isPairsFlagsBit(flag,kOuterMDC2)) {   // outer MDC middle
	l = new TLine(offsetX+dXLeg+0.5*dXLeg2,yUpLegLow ,offsetX+dXLeg+0.5*dXLeg2,yUpLegUp);   // middle upper leg
	if(HParticleTool::isPairsFlagsBit(flag,kNoFittedOuterMDC2)) l->SetLineStyle(fnoFittedStyle);
	if(HParticleTool::isPairsFlagsBit(flag,kIsUsed2))           l->SetLineColor(fusedColor);
	if(HParticleTool::isPairsFlagsBit(flag,kIsLepton2))         l->SetLineColor(fleptonColor);
	l->SetLineWidth(flineWidth);
	l->Draw();
    }
    //----------------------------------------------------------------------------------

}

void HParticleDraw::drawParticleNDC(Double_t xoffNDC,Double_t yoffNDC,
				    Double_t heightNDC,
				    UInt_t flag,TString nameCase,TString cuts)
{


    if(HParticleTool::isPairsFlagsBit(flag,kNoUseRICH))  fuseRICH=kFALSE;
    else                                                 fuseRICH=kTRUE;


    Double_t offsetX  = gPad->GetX1() + xoffNDC*(gPad->GetX2()-gPad->GetX1());
    Double_t offsetY  = gPad->GetY1() + yoffNDC*(gPad->GetY2()-gPad->GetY1());

    Double_t width    = (heightNDC/2.5) * (gPad->GetX2()-gPad->GetX1());
    Double_t height   = heightNDC*(gPad->GetY2()-gPad->GetY1());


    // 10 units in y
    //  9 units in x
    Double_t xu = width/4.;
    Double_t yu = height/10.;

    Double_t dYLeg      = 3.*yu;
    Double_t yLowLegLow = offsetY+2*yu;
    Double_t yLowLegUp  = yLowLegLow+dYLeg;

    Double_t yUpLegLow  = yLowLegUp;
    Double_t yUpLegUp   = yUpLegLow+dYLeg;

    Double_t yRich      = offsetY+1*yu;
    Double_t yMeta      = offsetY+9*yu;
    Double_t yText      = yMeta  + (1.5*yu);

    Double_t richR      = 1*xu ;
    Double_t richR2     = 1*yu ;

    Double_t textsize     = ftextSizeScale*0.09;
    Double_t textsizeInfo = ftextSizeInfoScale*0.09;
    Double_t textInfoY    = yLowLegUp ;

    TLine* l ;
    TEllipse* R;
    TLatex* paircase = new TLatex();
    paircase->SetTextSize(textsize);

    paircase->DrawLatex(offsetX+1*xu,yText,Form("%s",nameCase.Data()));
    if(HParticleTool::isPairsFlagsBit(flag,kNoRK2|kOuterMDC2)){ // no RK
	paircase->SetTextSize(textsizeInfo);
	paircase->DrawLatex(offsetX + 2.5*xu,textInfoY,"-RK");
    }
    if(HParticleTool::isPairsFlagsBit(flag,kRK2)){ //  RK
	paircase->SetTextSize(textsizeInfo);
	paircase->DrawLatex(offsetX + 2.5*xu,textInfoY,"+RK");
    }
    if(HParticleTool::isPairsFlagsBit(flag,kSamePosPolarity)){ // pos polarity
	paircase->SetTextSize(textsizeInfo);
	paircase->DrawLatex(offsetX + 1.0*xu ,textInfoY,"+");
    }
    if(HParticleTool::isPairsFlagsBit(flag,kSameNegPolarity)){ // neg polarity
	paircase->SetTextSize(textsizeInfo);
	paircase->DrawLatex(offsetX + 1.0*xu,textInfoY,"-");
    }

    if(cuts != ""){

	TObjArray* ar = cuts.Tokenize(",");

	for(Int_t i = 0 ; i< ar->GetEntries(); i++){
	    paircase->SetTextSize(textsizeInfo*0.8);
	    paircase->DrawLatex(offsetX,offsetY-2*yu,((TObjString*)ar->At(i))->GetString().Data());
	}

	if(ar) delete ar;
    }

    //----------------------------------------------------------------------------------
    // RICH
    if(fuseRICH){
	if(HParticleTool::isPairsFlagsBit(flag,kRICH2)){ // draw RICH middle
	    R = new TEllipse(offsetX+2.0*xu,yRich,richR, richR2);  // Rich middle
	    R->SetLineColor(frichColor);
	    R->SetLineWidth(flineWidth);
	    R->Draw();
	}
    }
    //----------------------------------------------------------------------------------

    //----------------------------------------------------------------------------------
    // META
    if(HParticleTool::isPairsFlagsBit(flag,kMETA2)){ // draw Meta middle
	R = new TEllipse(offsetX+2.0*xu,yMeta,richR, richR2);  // Meta middle
	R->SetLineColor(fmetaColor);
	R->SetLineWidth(flineWidth);
	R->Draw();
    }
    //----------------------------------------------------------------------------------


    //----------------------------------------------------------------------------------
    // Inner MDC
    {
	l = new TLine(offsetX+2.0*xu,yLowLegLow ,offsetX+2.0*xu,yLowLegUp);   // middle lower leg
	if(HParticleTool::isPairsFlagsBit(flag,kNoFittedInnerMDC2)) l->SetLineStyle(fnoFittedStyle);
	if(HParticleTool::isPairsFlagsBit(flag,kIsUsed2))           l->SetLineColor(fusedColor);
	if(HParticleTool::isPairsFlagsBit(flag,kIsLepton2))         l->SetLineColor(fleptonColor);
	l->SetLineWidth(flineWidth);
	l->Draw();
    }
    //----------------------------------------------------------------------------------

    //----------------------------------------------------------------------------------
    // outer MDC
    if(HParticleTool::isPairsFlagsBit(flag,kOuterMDC2) ||
       HParticleTool::isPairsFlagsBit(flag,kFittedOuterMDC2)
      ) {   // outer MDC middle
	l = new TLine(offsetX+2.0*xu,yUpLegLow ,offsetX+2.0*xu,yUpLegUp);   // middle upper leg
	if(HParticleTool::isPairsFlagsBit(flag,kNoFittedOuterMDC2)) l->SetLineStyle(fnoFittedStyle);
	if(HParticleTool::isPairsFlagsBit(flag,kIsUsed2))           l->SetLineColor(fusedColor);
	if(HParticleTool::isPairsFlagsBit(flag,kIsLepton2))         l->SetLineColor(fleptonColor);
	l->SetLineWidth(flineWidth);
	l->Draw();
    }
    //----------------------------------------------------------------------------------

}

HParticlePairDraw::HParticlePairDraw()
{

    flineWidth = 2;

    frefColor          = kBlack;
    fusedColor         = kGreen;
    fleptonColor       = kRed;
    fmetaColor         = kBlue;
    frichColor         = kOrange;

    ffittedStyle       = 1;
    fnoFittedStyle     = 2;
    fuseRICH           = kTRUE;
    ftextSizeScale     = 1.;
    ftextSizeInfoScale = 1.;
}

HParticlePairDraw::~HParticlePairDraw()
{

}

void HParticlePairDraw::drawPair(Double_t xoff,Double_t yoff,
				 Double_t scx,Double_t scy,
				 UInt_t flag,TString nameCase,TString cuts)
{


    if(HParticleTool::isPairsFlagsBit(flag,kNoUseRICH))  fuseRICH=kFALSE;
    else                                                 fuseRICH=kTRUE;

    Double_t offsetX  = xoff;
    Double_t offsetY  = yoff;

    Double_t scaleX       = 0.2 *scx;
    Double_t scaleY       = 0.25*scy;

    Double_t dYLeg    = 10   *scaleY;
    Double_t dXLeg    =  1   *scaleX;
    Double_t dXLeg2   =  0.25*scaleX;

    Double_t yLowLegLow = offsetY;
    Double_t yLowLegUp  = yLowLegLow+dYLeg;

    Double_t yUpLegLow  = yLowLegUp;
    Double_t yUpLegUp   = yUpLegLow+dYLeg;

    Double_t yRich      = yLowLegLow-(3*scaleY);
    Double_t yMeta      = yUpLegUp  +(3*scaleY);
    Double_t yText      = yMeta     +(3*scaleY);

    Double_t richR      = 0.25*dXLeg ;
    Double_t richR2     = 0.2 *dYLeg ;

    Double_t textsize     = ftextSizeScale*0.09*scaleX;
    Double_t textsizeInfo = ftextSizeInfoScale*0.08*scaleX;
    Double_t textInfoY    = yLowLegUp -(1*scaleY);


    TLine* l ;
    TEllipse* R;
    TLatex* paircase = new TLatex();
    paircase->SetTextSize(textsize);

    paircase->DrawLatex(offsetX,yText,Form("%s",nameCase.Data()));
    if(HParticleTool::isPairsFlagsBit(flag,kNoRK2|kOuterMDC2)){ // no RK
	paircase->SetTextSize(textsizeInfo);
	paircase->DrawLatex(offsetX + dXLeg +dXLeg2,textInfoY,"-RK");
    }
    if(HParticleTool::isPairsFlagsBit(flag,kRK2)){ //  RK
	paircase->SetTextSize(textsizeInfo);
	paircase->DrawLatex(offsetX + dXLeg +dXLeg2,textInfoY,"+RK");
    }
    if(HParticleTool::isPairsFlagsBit(flag,kSamePosPolarity)){ // pos pol
	paircase->SetTextSize(textsizeInfo);
	paircase->DrawLatex(offsetX -dXLeg2 ,textInfoY,"++");
    }
    if(HParticleTool::isPairsFlagsBit(flag,kSameNegPolarity)){ // neg pol
	paircase->SetTextSize(textsizeInfo);
	paircase->DrawLatex(offsetX -dXLeg2,textInfoY,"--");
    }
    if(HParticleTool::isPairsFlagsBit(flag,kNoSamePolarity)){ // no same pol
	paircase->SetTextSize(textsizeInfo);
	paircase->DrawLatex(offsetX -dXLeg2 ,textInfoY,"+-");
    }

    if(cuts != ""){

	TObjArray* ar = cuts.Tokenize(",");

	for(Int_t i = 0 ; i< ar->GetEntries(); i++){
	    paircase->SetTextSize(textsizeInfo*0.8);
	    paircase->DrawLatex(offsetX -dXLeg2 ,yRich-(3*scaleY) - ( (i+1)*5*scaleY),((TObjString*)ar->At(i))->GetString().Data());
	}

	if(ar) delete ar;
    }
    //----------------------------------------------------------------------------------
    // RICH

    if(fuseRICH){
	if(HParticleTool::isPairsFlagsBit(flag,kSameRICH)){ // draw RICH middle
	    R = new TEllipse(offsetX+dXLeg+0.5*dXLeg2,yRich,richR, richR2);  // Rich middle
	    R->SetLineColor(frichColor);
	    R->SetLineWidth(flineWidth);
	    R->Draw();
	} else if(HParticleTool::isPairsFlagsBit(flag,kNoSameRICH|kNoSameInnerMDC)){ // draw RICH left right
	    R = new TEllipse(offsetX               ,yRich,richR, richR2);  // Rich left
	    R->SetLineColor(frichColor);
	    R->SetLineWidth(flineWidth);
	    R->Draw();
	    if(HParticleTool::isPairsFlagsBit(flag,kNoSameRICH|kNoSameInnerMDC|kRICH2)){
		R = new TEllipse(offsetX+2*dXLeg+dXLeg2,yRich,richR, richR2);  // Rich right
		R->SetLineColor(frichColor);
		R->SetLineWidth(flineWidth);
		R->Draw();
	    }
	} else if(HParticleTool::isPairsFlagsBit(flag,kNoSameRICH|kSameInnerMDC)){ // draw RICH left right half
	    R = new TEllipse(offsetX+0.5*dXLeg              ,yRich,richR, richR2);  // Rich left
	    R->SetLineColor(frichColor);
	    R->SetLineWidth(flineWidth);
	    R->Draw();
	    if(HParticleTool::isPairsFlagsBit(flag,kNoSameRICH|kSameInnerMDC|kRICH2)){
		R = new TEllipse(offsetX+2*dXLeg+dXLeg2-0.5*dXLeg,yRich,richR, richR2);  // Rich right
		R->SetLineColor(frichColor);
		R->SetLineWidth(flineWidth);
		R->Draw();
	    }
	}
    }
    //----------------------------------------------------------------------------------

    //----------------------------------------------------------------------------------
    // META
    if(HParticleTool::isPairsFlagsBit(flag,kSameMETA)){ // draw Meta middle
	R = new TEllipse(offsetX+dXLeg+0.5*dXLeg2,yMeta,richR, richR2);  // Meta middle
	R->SetLineColor(fmetaColor);
	R->SetLineWidth(flineWidth);
	R->Draw();
    } else if(HParticleTool::isPairsFlagsBit(flag,kNoSameMETA|kNoSameOuterMDC)){ // draw Meta left right
	R = new TEllipse(offsetX               ,yMeta,richR, richR2);  // Meta left
	R->SetLineColor(fmetaColor);
	R->SetLineWidth(flineWidth);
	R->Draw();
	R = new TEllipse(offsetX+2*dXLeg+dXLeg2,yMeta,richR, richR2);  // Meta right
	R->SetLineColor(fmetaColor);
	R->SetLineWidth(flineWidth);
	R->Draw();
    } else if(HParticleTool::isPairsFlagsBit(flag,kNoSameMETA|kSameOuterMDC)){ // draw Meta left right half
	R = new TEllipse(offsetX+0.5*dXLeg              ,yMeta,richR, richR2);  // Meta left
	R->SetLineColor(fmetaColor);
	R->SetLineWidth(flineWidth);
	R->Draw();
	R = new TEllipse(offsetX+2*dXLeg+dXLeg2-0.5*dXLeg,yMeta,richR, richR2);  // Meta right
	R->SetLineColor(fmetaColor);
	R->SetLineWidth(flineWidth);
	R->Draw();
    } else if(HParticleTool::isPairsFlagsBit(flag,kNoMETA2)){ // draw Meta left
	R = new TEllipse(offsetX               ,yMeta,richR, richR2);  // Meta left
	R->SetLineColor(fmetaColor);
	R->SetLineWidth(flineWidth);
	R->Draw();
    }
    //----------------------------------------------------------------------------------


    //----------------------------------------------------------------------------------
    // Inner MDC
    if(HParticleTool::isPairsFlagsBit(flag,kSameInnerMDC)) {   // Inner MDC middle
	l = new TLine(offsetX+dXLeg+0.5*dXLeg2,yLowLegLow ,offsetX+dXLeg+0.5*dXLeg2,yLowLegUp);   // middle lower leg
	l->SetLineWidth(flineWidth);
	l->Draw();

    } else if( (HParticleTool::isPairsFlagsBit(flag,kNoSameInnerMDC|kNoSameRICH) &&  fuseRICH) ||
	      (HParticleTool::isPairsFlagsBit(flag,kNoSameInnerMDC)             && !fuseRICH)
	     ) {   // Inner MDC left + right
	l = new TLine(offsetX                ,yLowLegLow,offsetX+dXLeg         ,yLowLegUp);   // left lower leg
	l->SetLineWidth(flineWidth);
	l->Draw();
	l = new TLine(offsetX+2*dXLeg+dXLeg2 ,yLowLegLow,offsetX+dXLeg+dXLeg2  ,yLowLegUp);   // right lower leg
	if(HParticleTool::isPairsFlagsBit(flag,kNoFittedInnerMDC2)) l->SetLineStyle(fnoFittedStyle);
	if(HParticleTool::isPairsFlagsBit(flag,kIsUsed2))           l->SetLineColor(fusedColor);
	if(HParticleTool::isPairsFlagsBit(flag,kIsLepton2))         l->SetLineColor(fleptonColor);
	l->SetLineWidth(flineWidth);
	l->Draw();
    } else if(fuseRICH && HParticleTool::isPairsFlagsBit(flag,kNoSameInnerMDC|kSameRICH)) {    // Inner MDC left + right para
	l = new TLine(offsetX+dXLeg        ,yLowLegLow ,offsetX+dXLeg        ,yLowLegUp);    // left lower para leg
	l->SetLineWidth(flineWidth);
	l->Draw();
	l = new TLine(offsetX+dXLeg+dXLeg2 ,yLowLegLow ,offsetX+dXLeg+dXLeg2 ,yLowLegUp);    // right lower para leg
	if(HParticleTool::isPairsFlagsBit(flag,kNoFittedInnerMDC2)) l->SetLineStyle(fnoFittedStyle);
	if(HParticleTool::isPairsFlagsBit(flag,kIsUsed2))           l->SetLineColor(fusedColor);
	if(HParticleTool::isPairsFlagsBit(flag,kIsLepton2))         l->SetLineColor(fleptonColor);
	l->SetLineWidth(flineWidth);
	l->Draw();
    }
    //----------------------------------------------------------------------------------

    //----------------------------------------------------------------------------------
    // outer MDC
    if(HParticleTool::isPairsFlagsBit(flag,kSameOuterMDC)) {   // outer MDC middle
	l = new TLine(offsetX+dXLeg+0.5*dXLeg2,yUpLegLow ,offsetX+dXLeg+0.5*dXLeg2,yUpLegUp);   // middle upper leg
	l->SetLineWidth(flineWidth);
	l->Draw();
    } else if(HParticleTool::isPairsFlagsBit(flag,kNoOuterMDC2)) {   // outer MDC left
	l = new TLine(offsetX+dXLeg         ,yUpLegLow ,offsetX               ,yUpLegUp);    // left upper leg
	l->SetLineWidth(flineWidth);
	l->Draw();
    } else if(HParticleTool::isPairsFlagsBit(flag,kNoSameOuterMDC|kSameMETA)) {   // outer MDC left right para
	l = new TLine(offsetX+dXLeg        ,yUpLegLow ,offsetX+dXLeg        ,yUpLegUp);    // left upper para leg
	l->SetLineWidth(flineWidth);
	l->Draw();
	l = new TLine(offsetX+dXLeg+dXLeg2 ,yUpLegLow ,offsetX+dXLeg+dXLeg2 ,yUpLegUp);    // right upper para leg
	if(HParticleTool::isPairsFlagsBit(flag,kNoFittedOuterMDC2)) l->SetLineStyle(fnoFittedStyle);
	if(HParticleTool::isPairsFlagsBit(flag,kIsUsed2))           l->SetLineColor(fusedColor);
	if(HParticleTool::isPairsFlagsBit(flag,kIsLepton2))         l->SetLineColor(fleptonColor);
	l->SetLineWidth(flineWidth);
	l->Draw();
    } else if(HParticleTool::isPairsFlagsBit(flag,kNoSameOuterMDC|kNoSameMETA) ||
	      HParticleTool::isPairsFlagsBit(flag,kNoSameOuterMDC|kNoMETA2)
	     )
    {
	l = new TLine(offsetX+dXLeg          ,yUpLegLow ,offsetX               ,yUpLegUp);    // left upper leg
	l->SetLineWidth(flineWidth);
	l->Draw();
	l = new TLine(offsetX+dXLeg+dXLeg2   ,yUpLegLow ,offsetX+2*dXLeg+dXLeg2,yUpLegUp);    // right upper leg
	if(HParticleTool::isPairsFlagsBit(flag,kNoFittedOuterMDC2)) l->SetLineStyle(fnoFittedStyle);
	if(HParticleTool::isPairsFlagsBit(flag,kIsUsed2))           l->SetLineColor(fusedColor);
	if(HParticleTool::isPairsFlagsBit(flag,kIsLepton2))         l->SetLineColor(fleptonColor);
	l->SetLineWidth(flineWidth);
	l->Draw();
    }
    //----------------------------------------------------------------------------------

}

void HParticlePairDraw::drawPairNDC(Double_t xoffNDC,Double_t yoffNDC,
				    Double_t heightNDC,
				    UInt_t flag,TString nameCase,TString cuts)
{


    if(HParticleTool::isPairsFlagsBit(flag,kNoUseRICH))  fuseRICH=kFALSE;
    else                                                 fuseRICH=kTRUE;


    Double_t offsetX  = gPad->GetX1() + xoffNDC*(gPad->GetX2()-gPad->GetX1());
    Double_t offsetY  = gPad->GetY1() + yoffNDC*(gPad->GetY2()-gPad->GetY1());
    Double_t width    = 10./10.*heightNDC*(gPad->GetX2()-gPad->GetX1());
    Double_t height   = heightNDC*(gPad->GetY2()-gPad->GetY1());



    // 10 units in y
    //  9 units in x
    Double_t xu = width/9.;
    Double_t yu = height/10.;

    Double_t dYLeg    =  3*yu;
    Double_t dXLeg    =  2.*xu;
    Double_t dXLeg2   =  2.25*xu;

    Double_t yLowLegLow = offsetY+2*yu;
    Double_t yLowLegUp  = yLowLegLow+dYLeg;

    Double_t yUpLegLow  = yLowLegUp;
    Double_t yUpLegUp   = yUpLegLow+dYLeg;

    Double_t yRich      = offsetY+1*yu;
    Double_t yMeta      = offsetY+9*yu;
    Double_t yText      = yMeta  + (1.5*yu);

    Double_t richR      = 1*xu*10./9. ;
    Double_t richR2     = 1*yu ;

    Double_t textsize     = ftextSizeScale*0.09;
    Double_t textsizeInfo = ftextSizeInfoScale*0.09;
    Double_t textInfoY    = yLowLegUp ;


    TLine* l ;
    TEllipse* R;
    TLatex* paircase = new TLatex();
    paircase->SetTextSize(textsize);

    paircase->DrawLatex(offsetX+1*xu,yText,Form("%s",nameCase.Data()));
    if(HParticleTool::isPairsFlagsBit(flag,kNoRK2|kOuterMDC2)){ // no RK
	paircase->SetTextSize(textsizeInfo);
	paircase->DrawLatex(offsetX + 6*xu,textInfoY,"-RK");
    }
    if(HParticleTool::isPairsFlagsBit(flag,kRK2)){ //  RK
	paircase->SetTextSize(textsizeInfo);
	paircase->DrawLatex(offsetX + 6*xu,textInfoY,"+RK");
    }
    if(HParticleTool::isPairsFlagsBit(flag,kSamePosPolarity)){ // pos pol
	paircase->SetTextSize(textsizeInfo);
	paircase->DrawLatex(offsetX + 0*xu,textInfoY,"++");
    }
    if(HParticleTool::isPairsFlagsBit(flag,kSameNegPolarity)){ // neg pol
	paircase->SetTextSize(textsizeInfo);
	paircase->DrawLatex(offsetX + 0*xu,textInfoY,"--");
    }
    if(HParticleTool::isPairsFlagsBit(flag,kNoSamePolarity)){ // no same pol
	paircase->SetTextSize(textsizeInfo);
	paircase->DrawLatex(offsetX + 0*xu ,textInfoY,"+-");
    }

    if(cuts != ""){

	TObjArray* ar = cuts.Tokenize(",");

	for(Int_t i = 0 ; i< ar->GetEntries(); i++){
	    paircase->SetTextSize(textsizeInfo);
	    paircase->DrawLatex(offsetX ,offsetY-2*yu,((TObjString*)ar->At(i))->GetString().Data());
	}

	if(ar) delete ar;
    }
    //----------------------------------------------------------------------------------
    // RICH

    if(fuseRICH){
	if(HParticleTool::isPairsFlagsBit(flag,kSameRICH)){ // draw RICH middle
	    R = new TEllipse(offsetX+4.5*xu,yRich,richR, richR2);  // Rich middle
	    R->SetLineColor(frichColor);
	    R->SetLineWidth(flineWidth);
	    R->Draw();
	} else if(HParticleTool::isPairsFlagsBit(flag,kNoSameRICH|kNoSameInnerMDC)){ // draw RICH left right
	    R = new TEllipse(offsetX+2.0*xu              ,yRich,richR, richR2);  // Rich left
	    R->SetLineColor(frichColor);
	    R->SetLineWidth(flineWidth);
	    R->Draw();
	    if(HParticleTool::isPairsFlagsBit(flag,kNoSameRICH|kNoSameInnerMDC|kRICH2)){
		R = new TEllipse(offsetX+7.0*xu,yRich,richR, richR2);  // Rich right
		R->SetLineColor(frichColor);
		R->SetLineWidth(flineWidth);
		R->Draw();
	    }
	} else if(HParticleTool::isPairsFlagsBit(flag,kNoSameRICH|kSameInnerMDC)){ // draw RICH left right half
	    R = new TEllipse(offsetX+3.0*xu              ,yRich,richR, richR2);  // Rich left
	    R->SetLineColor(frichColor);
	    R->SetLineWidth(flineWidth);
	    R->Draw();
	    if(HParticleTool::isPairsFlagsBit(flag,kNoSameRICH|kSameInnerMDC|kRICH2)){
		R = new TEllipse(offsetX+6*xu,yRich,richR, richR2);  // Rich right
		R->SetLineColor(frichColor);
		R->SetLineWidth(flineWidth);
		R->Draw();
	    }
	}
    }
    //----------------------------------------------------------------------------------

    //----------------------------------------------------------------------------------
    // META
    if(HParticleTool::isPairsFlagsBit(flag,kSameMETA)){ // draw Meta middle
	R = new TEllipse(offsetX+4.5*xu,yMeta,richR, richR2);  // Meta middle
	R->SetLineColor(fmetaColor);
	R->SetLineWidth(flineWidth);
	R->Draw();
    } else if(HParticleTool::isPairsFlagsBit(flag,kNoSameMETA|kNoSameOuterMDC)){ // draw Meta left right
	R = new TEllipse(offsetX+2.0*xu          ,yMeta,richR, richR2);  // Meta left
	R->SetLineColor(fmetaColor);
	R->SetLineWidth(flineWidth);
	R->Draw();
	R = new TEllipse(offsetX+7.0*xu,yMeta,richR, richR2);  // Meta right
	R->SetLineColor(fmetaColor);
	R->SetLineWidth(flineWidth);
	R->Draw();
    } else if(HParticleTool::isPairsFlagsBit(flag,kNoSameMETA|kSameOuterMDC)){ // draw Meta left right half
	R = new TEllipse(offsetX+3.0*xu              ,yMeta,richR, richR2);  // Meta left
	R->SetLineColor(fmetaColor);
	R->SetLineWidth(flineWidth);
	R->Draw();
	R = new TEllipse(offsetX+6.0*xu,yMeta,richR, richR2);  // Meta right
	R->SetLineColor(fmetaColor);
	R->SetLineWidth(flineWidth);
	R->Draw();
    } else if(HParticleTool::isPairsFlagsBit(flag,kNoMETA2)){ // draw Meta left
	R = new TEllipse(offsetX + 2.0*xu        ,yMeta,richR, richR2);  // Meta left
	R->SetLineColor(fmetaColor);
	R->SetLineWidth(flineWidth);
	R->Draw();
    }
    //----------------------------------------------------------------------------------


    //----------------------------------------------------------------------------------
    // Inner MDC
    if(HParticleTool::isPairsFlagsBit(flag,kSameInnerMDC)) {   // Inner MDC middle
	l = new TLine(offsetX+4.5*xu        ,yLowLegLow ,offsetX+4.5*xu,yLowLegUp);   // middle lower leg
	l->SetLineWidth(flineWidth);
	l->Draw();

    } else if( (HParticleTool::isPairsFlagsBit(flag,kNoSameInnerMDC|kNoSameRICH) &&  fuseRICH) ||
	      (HParticleTool::isPairsFlagsBit(flag,kNoSameInnerMDC)             && !fuseRICH)
	     ) {   // Inner MDC left + right
	l = new TLine(offsetX+2.0*xu      ,yLowLegLow,offsetX+2.0*xu+dXLeg ,yLowLegUp);   // left lower leg
	l->SetLineWidth(flineWidth);
	l->Draw();
	l = new TLine(offsetX+7.0*xu      ,yLowLegLow,offsetX+7.0*xu-dXLeg  ,yLowLegUp);   // right lower leg
	if(HParticleTool::isPairsFlagsBit(flag,kNoFittedInnerMDC2)) l->SetLineStyle(fnoFittedStyle);
	if(HParticleTool::isPairsFlagsBit(flag,kIsUsed2))           l->SetLineColor(fusedColor);
	if(HParticleTool::isPairsFlagsBit(flag,kIsLepton2))         l->SetLineColor(fleptonColor);
	l->SetLineWidth(flineWidth);
	l->Draw();
    } else if(fuseRICH && HParticleTool::isPairsFlagsBit(flag,kNoSameInnerMDC|kSameRICH)) {    // Inner MDC left + right para
	l = new TLine(offsetX+2.0*xu+dXLeg2        ,yLowLegLow ,offsetX+2.*xu+dXLeg2  ,yLowLegUp);    // left lower para leg
	l->SetLineWidth(flineWidth);
	l->Draw();
	l = new TLine(offsetX+7.0*xu-dXLeg2        ,yLowLegLow ,offsetX+7.0*xu-dXLeg2   ,yLowLegUp);    // right lower para leg
	if(HParticleTool::isPairsFlagsBit(flag,kNoFittedInnerMDC2)) l->SetLineStyle(fnoFittedStyle);
	if(HParticleTool::isPairsFlagsBit(flag,kIsUsed2))           l->SetLineColor(fusedColor);
	if(HParticleTool::isPairsFlagsBit(flag,kIsLepton2))         l->SetLineColor(fleptonColor);
	l->SetLineWidth(flineWidth);
	l->Draw();
    }
    //----------------------------------------------------------------------------------

    //----------------------------------------------------------------------------------
    // outer MDC
    if(HParticleTool::isPairsFlagsBit(flag,kSameOuterMDC)) {   // outer MDC middle
	l = new TLine(offsetX+4.5*xu,yUpLegLow ,offsetX+4.5*xu,yUpLegUp);   // middle upper leg
	l->SetLineWidth(flineWidth);
	l->Draw();
    } else if(HParticleTool::isPairsFlagsBit(flag,kNoOuterMDC2)) {   // outer MDC left
	l = new TLine(offsetX+2.0*xu+dXLeg ,yUpLegLow ,offsetX+2.0*xu       ,yUpLegUp);    // left upper leg
	l->SetLineWidth(flineWidth);
	l->Draw();
    } else if(HParticleTool::isPairsFlagsBit(flag,kNoSameOuterMDC|kSameMETA)) {   // outer MDC left right para
	l = new TLine(offsetX+2.0*xu+dXLeg2        ,yUpLegLow ,offsetX+2.0*xu+dXLeg2  ,yUpLegUp);    // left upper para leg
	l->SetLineWidth(flineWidth);
	l->Draw();
	l = new TLine(offsetX+7.0*xu-dXLeg2 ,yUpLegLow ,offsetX+7.0*xu-dXLeg2,yUpLegUp);    // right upper para leg
	if(HParticleTool::isPairsFlagsBit(flag,kNoFittedOuterMDC2)) l->SetLineStyle(fnoFittedStyle);
	if(HParticleTool::isPairsFlagsBit(flag,kIsUsed2))           l->SetLineColor(fusedColor);
	if(HParticleTool::isPairsFlagsBit(flag,kIsLepton2))         l->SetLineColor(fleptonColor);
	l->SetLineWidth(flineWidth);
	l->Draw();
    } else if(HParticleTool::isPairsFlagsBit(flag,kNoSameOuterMDC|kNoSameMETA) ||
	      HParticleTool::isPairsFlagsBit(flag,kNoSameOuterMDC|kNoMETA2)
	     )
    {
	l = new TLine(offsetX+2.0*xu+dXLeg ,yUpLegLow ,offsetX+2.0*xu       ,yUpLegUp);    // left upper leg
	l->SetLineWidth(flineWidth);
	l->Draw();
	l = new TLine(offsetX+7.0*xu-dXLeg ,yUpLegLow ,offsetX+7.0*xu       ,yUpLegUp);    // right upper leg
	if(HParticleTool::isPairsFlagsBit(flag,kNoFittedOuterMDC2)) l->SetLineStyle(fnoFittedStyle);
	if(HParticleTool::isPairsFlagsBit(flag,kIsUsed2))           l->SetLineColor(fusedColor);
	if(HParticleTool::isPairsFlagsBit(flag,kIsLepton2))         l->SetLineColor(fleptonColor);
	l->SetLineWidth(flineWidth);
	l->Draw();
    }
    //----------------------------------------------------------------------------------

}

void HParticlePairDraw::drawPairCases()
{
    // draws 3 canvases with the predefined lepton and
    // hadron pair cases

    gStyle->SetOptStat(0);

    Double_t offsetX  =  0.25;
    Double_t offsetY  = -360;
    Double_t scaleX   =  1;
    Double_t scaleY   =  1;


    Float_t ftextSizeScale = 10;

    HParticlePairDraw pairdraw;
    pairdraw.ftextSizeScale = ftextSizeScale;
    HParticleDraw particledraw;

    UInt_t cases1[] = {
	Particle::kPairCase1,
	Particle::kPairCase2,
	Particle::kPairCase3,
	Particle::kPairCase4,
	Particle::kPairCase5,
	Particle::kPairCase6,
	Particle::kPairCase7,
	Particle::kPairCase8,
	Particle::kPairCase9,
	Particle::kPairCase10
    };


    UInt_t cases2[] = {
	Particle::kPairCase11,
	Particle::kPairCase12,
	Particle::kPairCase13,
	Particle::kPairCase14,
	Particle::kPairCase15
    };


    UInt_t cases3[] = {
	Particle::kPairCase16,
	Particle::kPairCase17,
	Particle::kPairCase18,
	Particle::kPairCase19,
	Particle::kPairCase20,
	Particle::kPairCase21,
	Particle::kPairCase22,
	Particle::kPairCase23,
	Particle::kPairCase24,
	Particle::kPairCase24,
	Particle::kPairCase25
    };

    UInt_t bins1 = sizeof(cases1)/sizeof(UInt_t);
    UInt_t bins2 = sizeof(cases2)/sizeof(UInt_t);
    UInt_t bins3 = sizeof(cases3)/sizeof(UInt_t);

    TH1F* h = new TH1F("h","",bins1,0,bins1);
    h->GetXaxis()->SetLabelSize(0);
    h->GetYaxis()->SetRangeUser(0.,50.);
    h->GetYaxis()->SetAxisColor(kWhite);
    h->GetYaxis()->SetLabelColor(kWhite);
    h->GetYaxis()->SetTitleColor(kWhite);
    h->GetXaxis()->SetAxisColor(kWhite);
    h->SetLineColor(kWhite);

    TH1F* h2 = new TH1F("h2","",bins3,0,bins3);
    h2->GetXaxis()->SetLabelSize(0);
    h2->GetYaxis()->SetRangeUser(0.,50.);
    h2->GetYaxis()->SetAxisColor(kWhite);
    h2->GetYaxis()->SetLabelColor(kWhite);
    h2->GetYaxis()->SetTitleColor(kWhite);
    h2->GetXaxis()->SetAxisColor(kWhite);
    h2->SetLineColor(kWhite);


    Int_t cheight = 100;

    TCanvas* c = new TCanvas("pairCaseLepton1","pairCase Lepton",950,cheight);
    c->SetTopMargin(0.);
    c->SetBottomMargin(0.9);
    c->SetLeftMargin(0.);
    c->SetRightMargin(0.);
    c->SetFrameLineColor(kWhite);

    h->DrawCopy();

    for(UInt_t i=0; i < bins1; i++){
	pairdraw.drawPair(offsetX+i,offsetY,scaleX,50*scaleY,cases1[i],Form("Case%i",i+1),"");
    }

    TCanvas* c2 = new TCanvas("pairCaseLepton2","pairCase Lepton 2",950,cheight);
    c2->SetTopMargin(0.);
    c2->SetBottomMargin(0.9);
    c2->SetLeftMargin(0.);
    c2->SetRightMargin(0.);
    c2->SetFrameLineColor(kWhite);

    h->DrawCopy();

    for(UInt_t i=0; i < bins2; i++){
	pairdraw.drawPair(offsetX+i,offsetY,scaleX,50*scaleY,cases2[i],Form("Case%i",i+1+10),"");
    }

    TCanvas* c3 = new TCanvas("pairCaseHadron","pairCase Hadron",950,cheight);
    c3->SetTopMargin(0.);
    c3->SetBottomMargin(0.9);
    c3->SetLeftMargin(0.);
    c3->SetRightMargin(0.);
    c3->SetFrameLineColor(kWhite);

    h2->Draw();

    for(UInt_t i=0; i < bins3; i++){
	pairdraw.drawPair(offsetX+i,offsetY,scaleX,50*scaleY,cases3[i],Form("Case%i",i+1+15),"");
    }

}

 hparticlepairdraw.cc:1
 hparticlepairdraw.cc:2
 hparticlepairdraw.cc:3
 hparticlepairdraw.cc:4
 hparticlepairdraw.cc:5
 hparticlepairdraw.cc:6
 hparticlepairdraw.cc:7
 hparticlepairdraw.cc:8
 hparticlepairdraw.cc:9
 hparticlepairdraw.cc:10
 hparticlepairdraw.cc:11
 hparticlepairdraw.cc:12
 hparticlepairdraw.cc:13
 hparticlepairdraw.cc:14
 hparticlepairdraw.cc:15
 hparticlepairdraw.cc:16
 hparticlepairdraw.cc:17
 hparticlepairdraw.cc:18
 hparticlepairdraw.cc:19
 hparticlepairdraw.cc:20
 hparticlepairdraw.cc:21
 hparticlepairdraw.cc:22
 hparticlepairdraw.cc:23
 hparticlepairdraw.cc:24
 hparticlepairdraw.cc:25
 hparticlepairdraw.cc:26
 hparticlepairdraw.cc:27
 hparticlepairdraw.cc:28
 hparticlepairdraw.cc:29
 hparticlepairdraw.cc:30
 hparticlepairdraw.cc:31
 hparticlepairdraw.cc:32
 hparticlepairdraw.cc:33
 hparticlepairdraw.cc:34
 hparticlepairdraw.cc:35
 hparticlepairdraw.cc:36
 hparticlepairdraw.cc:37
 hparticlepairdraw.cc:38
 hparticlepairdraw.cc:39
 hparticlepairdraw.cc:40
 hparticlepairdraw.cc:41
 hparticlepairdraw.cc:42
 hparticlepairdraw.cc:43
 hparticlepairdraw.cc:44
 hparticlepairdraw.cc:45
 hparticlepairdraw.cc:46
 hparticlepairdraw.cc:47
 hparticlepairdraw.cc:48
 hparticlepairdraw.cc:49
 hparticlepairdraw.cc:50
 hparticlepairdraw.cc:51
 hparticlepairdraw.cc:52
 hparticlepairdraw.cc:53
 hparticlepairdraw.cc:54
 hparticlepairdraw.cc:55
 hparticlepairdraw.cc:56
 hparticlepairdraw.cc:57
 hparticlepairdraw.cc:58
 hparticlepairdraw.cc:59
 hparticlepairdraw.cc:60
 hparticlepairdraw.cc:61
 hparticlepairdraw.cc:62
 hparticlepairdraw.cc:63
 hparticlepairdraw.cc:64
 hparticlepairdraw.cc:65
 hparticlepairdraw.cc:66
 hparticlepairdraw.cc:67
 hparticlepairdraw.cc:68
 hparticlepairdraw.cc:69
 hparticlepairdraw.cc:70
 hparticlepairdraw.cc:71
 hparticlepairdraw.cc:72
 hparticlepairdraw.cc:73
 hparticlepairdraw.cc:74
 hparticlepairdraw.cc:75
 hparticlepairdraw.cc:76
 hparticlepairdraw.cc:77
 hparticlepairdraw.cc:78
 hparticlepairdraw.cc:79
 hparticlepairdraw.cc:80
 hparticlepairdraw.cc:81
 hparticlepairdraw.cc:82
 hparticlepairdraw.cc:83
 hparticlepairdraw.cc:84
 hparticlepairdraw.cc:85
 hparticlepairdraw.cc:86
 hparticlepairdraw.cc:87
 hparticlepairdraw.cc:88
 hparticlepairdraw.cc:89
 hparticlepairdraw.cc:90
 hparticlepairdraw.cc:91
 hparticlepairdraw.cc:92
 hparticlepairdraw.cc:93
 hparticlepairdraw.cc:94
 hparticlepairdraw.cc:95
 hparticlepairdraw.cc:96
 hparticlepairdraw.cc:97
 hparticlepairdraw.cc:98
 hparticlepairdraw.cc:99
 hparticlepairdraw.cc:100
 hparticlepairdraw.cc:101
 hparticlepairdraw.cc:102
 hparticlepairdraw.cc:103
 hparticlepairdraw.cc:104
 hparticlepairdraw.cc:105
 hparticlepairdraw.cc:106
 hparticlepairdraw.cc:107
 hparticlepairdraw.cc:108
 hparticlepairdraw.cc:109
 hparticlepairdraw.cc:110
 hparticlepairdraw.cc:111
 hparticlepairdraw.cc:112
 hparticlepairdraw.cc:113
 hparticlepairdraw.cc:114
 hparticlepairdraw.cc:115
 hparticlepairdraw.cc:116
 hparticlepairdraw.cc:117
 hparticlepairdraw.cc:118
 hparticlepairdraw.cc:119
 hparticlepairdraw.cc:120
 hparticlepairdraw.cc:121
 hparticlepairdraw.cc:122
 hparticlepairdraw.cc:123
 hparticlepairdraw.cc:124
 hparticlepairdraw.cc:125
 hparticlepairdraw.cc:126
 hparticlepairdraw.cc:127
 hparticlepairdraw.cc:128
 hparticlepairdraw.cc:129
 hparticlepairdraw.cc:130
 hparticlepairdraw.cc:131
 hparticlepairdraw.cc:132
 hparticlepairdraw.cc:133
 hparticlepairdraw.cc:134
 hparticlepairdraw.cc:135
 hparticlepairdraw.cc:136
 hparticlepairdraw.cc:137
 hparticlepairdraw.cc:138
 hparticlepairdraw.cc:139
 hparticlepairdraw.cc:140
 hparticlepairdraw.cc:141
 hparticlepairdraw.cc:142
 hparticlepairdraw.cc:143
 hparticlepairdraw.cc:144
 hparticlepairdraw.cc:145
 hparticlepairdraw.cc:146
 hparticlepairdraw.cc:147
 hparticlepairdraw.cc:148
 hparticlepairdraw.cc:149
 hparticlepairdraw.cc:150
 hparticlepairdraw.cc:151
 hparticlepairdraw.cc:152
 hparticlepairdraw.cc:153
 hparticlepairdraw.cc:154
 hparticlepairdraw.cc:155
 hparticlepairdraw.cc:156
 hparticlepairdraw.cc:157
 hparticlepairdraw.cc:158
 hparticlepairdraw.cc:159
 hparticlepairdraw.cc:160
 hparticlepairdraw.cc:161
 hparticlepairdraw.cc:162
 hparticlepairdraw.cc:163
 hparticlepairdraw.cc:164
 hparticlepairdraw.cc:165
 hparticlepairdraw.cc:166
 hparticlepairdraw.cc:167
 hparticlepairdraw.cc:168
 hparticlepairdraw.cc:169
 hparticlepairdraw.cc:170
 hparticlepairdraw.cc:171
 hparticlepairdraw.cc:172
 hparticlepairdraw.cc:173
 hparticlepairdraw.cc:174
 hparticlepairdraw.cc:175
 hparticlepairdraw.cc:176
 hparticlepairdraw.cc:177
 hparticlepairdraw.cc:178
 hparticlepairdraw.cc:179
 hparticlepairdraw.cc:180
 hparticlepairdraw.cc:181
 hparticlepairdraw.cc:182
 hparticlepairdraw.cc:183
 hparticlepairdraw.cc:184
 hparticlepairdraw.cc:185
 hparticlepairdraw.cc:186
 hparticlepairdraw.cc:187
 hparticlepairdraw.cc:188
 hparticlepairdraw.cc:189
 hparticlepairdraw.cc:190
 hparticlepairdraw.cc:191
 hparticlepairdraw.cc:192
 hparticlepairdraw.cc:193
 hparticlepairdraw.cc:194
 hparticlepairdraw.cc:195
 hparticlepairdraw.cc:196
 hparticlepairdraw.cc:197
 hparticlepairdraw.cc:198
 hparticlepairdraw.cc:199
 hparticlepairdraw.cc:200
 hparticlepairdraw.cc:201
 hparticlepairdraw.cc:202
 hparticlepairdraw.cc:203
 hparticlepairdraw.cc:204
 hparticlepairdraw.cc:205
 hparticlepairdraw.cc:206
 hparticlepairdraw.cc:207
 hparticlepairdraw.cc:208
 hparticlepairdraw.cc:209
 hparticlepairdraw.cc:210
 hparticlepairdraw.cc:211
 hparticlepairdraw.cc:212
 hparticlepairdraw.cc:213
 hparticlepairdraw.cc:214
 hparticlepairdraw.cc:215
 hparticlepairdraw.cc:216
 hparticlepairdraw.cc:217
 hparticlepairdraw.cc:218
 hparticlepairdraw.cc:219
 hparticlepairdraw.cc:220
 hparticlepairdraw.cc:221
 hparticlepairdraw.cc:222
 hparticlepairdraw.cc:223
 hparticlepairdraw.cc:224
 hparticlepairdraw.cc:225
 hparticlepairdraw.cc:226
 hparticlepairdraw.cc:227
 hparticlepairdraw.cc:228
 hparticlepairdraw.cc:229
 hparticlepairdraw.cc:230
 hparticlepairdraw.cc:231
 hparticlepairdraw.cc:232
 hparticlepairdraw.cc:233
 hparticlepairdraw.cc:234
 hparticlepairdraw.cc:235
 hparticlepairdraw.cc:236
 hparticlepairdraw.cc:237
 hparticlepairdraw.cc:238
 hparticlepairdraw.cc:239
 hparticlepairdraw.cc:240
 hparticlepairdraw.cc:241
 hparticlepairdraw.cc:242
 hparticlepairdraw.cc:243
 hparticlepairdraw.cc:244
 hparticlepairdraw.cc:245
 hparticlepairdraw.cc:246
 hparticlepairdraw.cc:247
 hparticlepairdraw.cc:248
 hparticlepairdraw.cc:249
 hparticlepairdraw.cc:250
 hparticlepairdraw.cc:251
 hparticlepairdraw.cc:252
 hparticlepairdraw.cc:253
 hparticlepairdraw.cc:254
 hparticlepairdraw.cc:255
 hparticlepairdraw.cc:256
 hparticlepairdraw.cc:257
 hparticlepairdraw.cc:258
 hparticlepairdraw.cc:259
 hparticlepairdraw.cc:260
 hparticlepairdraw.cc:261
 hparticlepairdraw.cc:262
 hparticlepairdraw.cc:263
 hparticlepairdraw.cc:264
 hparticlepairdraw.cc:265
 hparticlepairdraw.cc:266
 hparticlepairdraw.cc:267
 hparticlepairdraw.cc:268
 hparticlepairdraw.cc:269
 hparticlepairdraw.cc:270
 hparticlepairdraw.cc:271
 hparticlepairdraw.cc:272
 hparticlepairdraw.cc:273
 hparticlepairdraw.cc:274
 hparticlepairdraw.cc:275
 hparticlepairdraw.cc:276
 hparticlepairdraw.cc:277
 hparticlepairdraw.cc:278
 hparticlepairdraw.cc:279
 hparticlepairdraw.cc:280
 hparticlepairdraw.cc:281
 hparticlepairdraw.cc:282
 hparticlepairdraw.cc:283
 hparticlepairdraw.cc:284
 hparticlepairdraw.cc:285
 hparticlepairdraw.cc:286
 hparticlepairdraw.cc:287
 hparticlepairdraw.cc:288
 hparticlepairdraw.cc:289
 hparticlepairdraw.cc:290
 hparticlepairdraw.cc:291
 hparticlepairdraw.cc:292
 hparticlepairdraw.cc:293
 hparticlepairdraw.cc:294
 hparticlepairdraw.cc:295
 hparticlepairdraw.cc:296
 hparticlepairdraw.cc:297
 hparticlepairdraw.cc:298
 hparticlepairdraw.cc:299
 hparticlepairdraw.cc:300
 hparticlepairdraw.cc:301
 hparticlepairdraw.cc:302
 hparticlepairdraw.cc:303
 hparticlepairdraw.cc:304
 hparticlepairdraw.cc:305
 hparticlepairdraw.cc:306
 hparticlepairdraw.cc:307
 hparticlepairdraw.cc:308
 hparticlepairdraw.cc:309
 hparticlepairdraw.cc:310
 hparticlepairdraw.cc:311
 hparticlepairdraw.cc:312
 hparticlepairdraw.cc:313
 hparticlepairdraw.cc:314
 hparticlepairdraw.cc:315
 hparticlepairdraw.cc:316
 hparticlepairdraw.cc:317
 hparticlepairdraw.cc:318
 hparticlepairdraw.cc:319
 hparticlepairdraw.cc:320
 hparticlepairdraw.cc:321
 hparticlepairdraw.cc:322
 hparticlepairdraw.cc:323
 hparticlepairdraw.cc:324
 hparticlepairdraw.cc:325
 hparticlepairdraw.cc:326
 hparticlepairdraw.cc:327
 hparticlepairdraw.cc:328
 hparticlepairdraw.cc:329
 hparticlepairdraw.cc:330
 hparticlepairdraw.cc:331
 hparticlepairdraw.cc:332
 hparticlepairdraw.cc:333
 hparticlepairdraw.cc:334
 hparticlepairdraw.cc:335
 hparticlepairdraw.cc:336
 hparticlepairdraw.cc:337
 hparticlepairdraw.cc:338
 hparticlepairdraw.cc:339
 hparticlepairdraw.cc:340
 hparticlepairdraw.cc:341
 hparticlepairdraw.cc:342
 hparticlepairdraw.cc:343
 hparticlepairdraw.cc:344
 hparticlepairdraw.cc:345
 hparticlepairdraw.cc:346
 hparticlepairdraw.cc:347
 hparticlepairdraw.cc:348
 hparticlepairdraw.cc:349
 hparticlepairdraw.cc:350
 hparticlepairdraw.cc:351
 hparticlepairdraw.cc:352
 hparticlepairdraw.cc:353
 hparticlepairdraw.cc:354
 hparticlepairdraw.cc:355
 hparticlepairdraw.cc:356
 hparticlepairdraw.cc:357
 hparticlepairdraw.cc:358
 hparticlepairdraw.cc:359
 hparticlepairdraw.cc:360
 hparticlepairdraw.cc:361
 hparticlepairdraw.cc:362
 hparticlepairdraw.cc:363
 hparticlepairdraw.cc:364
 hparticlepairdraw.cc:365
 hparticlepairdraw.cc:366
 hparticlepairdraw.cc:367
 hparticlepairdraw.cc:368
 hparticlepairdraw.cc:369
 hparticlepairdraw.cc:370
 hparticlepairdraw.cc:371
 hparticlepairdraw.cc:372
 hparticlepairdraw.cc:373
 hparticlepairdraw.cc:374
 hparticlepairdraw.cc:375
 hparticlepairdraw.cc:376
 hparticlepairdraw.cc:377
 hparticlepairdraw.cc:378
 hparticlepairdraw.cc:379
 hparticlepairdraw.cc:380
 hparticlepairdraw.cc:381
 hparticlepairdraw.cc:382
 hparticlepairdraw.cc:383
 hparticlepairdraw.cc:384
 hparticlepairdraw.cc:385
 hparticlepairdraw.cc:386
 hparticlepairdraw.cc:387
 hparticlepairdraw.cc:388
 hparticlepairdraw.cc:389
 hparticlepairdraw.cc:390
 hparticlepairdraw.cc:391
 hparticlepairdraw.cc:392
 hparticlepairdraw.cc:393
 hparticlepairdraw.cc:394
 hparticlepairdraw.cc:395
 hparticlepairdraw.cc:396
 hparticlepairdraw.cc:397
 hparticlepairdraw.cc:398
 hparticlepairdraw.cc:399
 hparticlepairdraw.cc:400
 hparticlepairdraw.cc:401
 hparticlepairdraw.cc:402
 hparticlepairdraw.cc:403
 hparticlepairdraw.cc:404
 hparticlepairdraw.cc:405
 hparticlepairdraw.cc:406
 hparticlepairdraw.cc:407
 hparticlepairdraw.cc:408
 hparticlepairdraw.cc:409
 hparticlepairdraw.cc:410
 hparticlepairdraw.cc:411
 hparticlepairdraw.cc:412
 hparticlepairdraw.cc:413
 hparticlepairdraw.cc:414
 hparticlepairdraw.cc:415
 hparticlepairdraw.cc:416
 hparticlepairdraw.cc:417
 hparticlepairdraw.cc:418
 hparticlepairdraw.cc:419
 hparticlepairdraw.cc:420
 hparticlepairdraw.cc:421
 hparticlepairdraw.cc:422
 hparticlepairdraw.cc:423
 hparticlepairdraw.cc:424
 hparticlepairdraw.cc:425
 hparticlepairdraw.cc:426
 hparticlepairdraw.cc:427
 hparticlepairdraw.cc:428
 hparticlepairdraw.cc:429
 hparticlepairdraw.cc:430
 hparticlepairdraw.cc:431
 hparticlepairdraw.cc:432
 hparticlepairdraw.cc:433
 hparticlepairdraw.cc:434
 hparticlepairdraw.cc:435
 hparticlepairdraw.cc:436
 hparticlepairdraw.cc:437
 hparticlepairdraw.cc:438
 hparticlepairdraw.cc:439
 hparticlepairdraw.cc:440
 hparticlepairdraw.cc:441
 hparticlepairdraw.cc:442
 hparticlepairdraw.cc:443
 hparticlepairdraw.cc:444
 hparticlepairdraw.cc:445
 hparticlepairdraw.cc:446
 hparticlepairdraw.cc:447
 hparticlepairdraw.cc:448
 hparticlepairdraw.cc:449
 hparticlepairdraw.cc:450
 hparticlepairdraw.cc:451
 hparticlepairdraw.cc:452
 hparticlepairdraw.cc:453
 hparticlepairdraw.cc:454
 hparticlepairdraw.cc:455
 hparticlepairdraw.cc:456
 hparticlepairdraw.cc:457
 hparticlepairdraw.cc:458
 hparticlepairdraw.cc:459
 hparticlepairdraw.cc:460
 hparticlepairdraw.cc:461
 hparticlepairdraw.cc:462
 hparticlepairdraw.cc:463
 hparticlepairdraw.cc:464
 hparticlepairdraw.cc:465
 hparticlepairdraw.cc:466
 hparticlepairdraw.cc:467
 hparticlepairdraw.cc:468
 hparticlepairdraw.cc:469
 hparticlepairdraw.cc:470
 hparticlepairdraw.cc:471
 hparticlepairdraw.cc:472
 hparticlepairdraw.cc:473
 hparticlepairdraw.cc:474
 hparticlepairdraw.cc:475
 hparticlepairdraw.cc:476
 hparticlepairdraw.cc:477
 hparticlepairdraw.cc:478
 hparticlepairdraw.cc:479
 hparticlepairdraw.cc:480
 hparticlepairdraw.cc:481
 hparticlepairdraw.cc:482
 hparticlepairdraw.cc:483
 hparticlepairdraw.cc:484
 hparticlepairdraw.cc:485
 hparticlepairdraw.cc:486
 hparticlepairdraw.cc:487
 hparticlepairdraw.cc:488
 hparticlepairdraw.cc:489
 hparticlepairdraw.cc:490
 hparticlepairdraw.cc:491
 hparticlepairdraw.cc:492
 hparticlepairdraw.cc:493
 hparticlepairdraw.cc:494
 hparticlepairdraw.cc:495
 hparticlepairdraw.cc:496
 hparticlepairdraw.cc:497
 hparticlepairdraw.cc:498
 hparticlepairdraw.cc:499
 hparticlepairdraw.cc:500
 hparticlepairdraw.cc:501
 hparticlepairdraw.cc:502
 hparticlepairdraw.cc:503
 hparticlepairdraw.cc:504
 hparticlepairdraw.cc:505
 hparticlepairdraw.cc:506
 hparticlepairdraw.cc:507
 hparticlepairdraw.cc:508
 hparticlepairdraw.cc:509
 hparticlepairdraw.cc:510
 hparticlepairdraw.cc:511
 hparticlepairdraw.cc:512
 hparticlepairdraw.cc:513
 hparticlepairdraw.cc:514
 hparticlepairdraw.cc:515
 hparticlepairdraw.cc:516
 hparticlepairdraw.cc:517
 hparticlepairdraw.cc:518
 hparticlepairdraw.cc:519
 hparticlepairdraw.cc:520
 hparticlepairdraw.cc:521
 hparticlepairdraw.cc:522
 hparticlepairdraw.cc:523
 hparticlepairdraw.cc:524
 hparticlepairdraw.cc:525
 hparticlepairdraw.cc:526
 hparticlepairdraw.cc:527
 hparticlepairdraw.cc:528
 hparticlepairdraw.cc:529
 hparticlepairdraw.cc:530
 hparticlepairdraw.cc:531
 hparticlepairdraw.cc:532
 hparticlepairdraw.cc:533
 hparticlepairdraw.cc:534
 hparticlepairdraw.cc:535
 hparticlepairdraw.cc:536
 hparticlepairdraw.cc:537
 hparticlepairdraw.cc:538
 hparticlepairdraw.cc:539
 hparticlepairdraw.cc:540
 hparticlepairdraw.cc:541
 hparticlepairdraw.cc:542
 hparticlepairdraw.cc:543
 hparticlepairdraw.cc:544
 hparticlepairdraw.cc:545
 hparticlepairdraw.cc:546
 hparticlepairdraw.cc:547
 hparticlepairdraw.cc:548
 hparticlepairdraw.cc:549
 hparticlepairdraw.cc:550
 hparticlepairdraw.cc:551
 hparticlepairdraw.cc:552
 hparticlepairdraw.cc:553
 hparticlepairdraw.cc:554
 hparticlepairdraw.cc:555
 hparticlepairdraw.cc:556
 hparticlepairdraw.cc:557
 hparticlepairdraw.cc:558
 hparticlepairdraw.cc:559
 hparticlepairdraw.cc:560
 hparticlepairdraw.cc:561
 hparticlepairdraw.cc:562
 hparticlepairdraw.cc:563
 hparticlepairdraw.cc:564
 hparticlepairdraw.cc:565
 hparticlepairdraw.cc:566
 hparticlepairdraw.cc:567
 hparticlepairdraw.cc:568
 hparticlepairdraw.cc:569
 hparticlepairdraw.cc:570
 hparticlepairdraw.cc:571
 hparticlepairdraw.cc:572
 hparticlepairdraw.cc:573
 hparticlepairdraw.cc:574
 hparticlepairdraw.cc:575
 hparticlepairdraw.cc:576
 hparticlepairdraw.cc:577
 hparticlepairdraw.cc:578
 hparticlepairdraw.cc:579
 hparticlepairdraw.cc:580
 hparticlepairdraw.cc:581
 hparticlepairdraw.cc:582
 hparticlepairdraw.cc:583
 hparticlepairdraw.cc:584
 hparticlepairdraw.cc:585
 hparticlepairdraw.cc:586
 hparticlepairdraw.cc:587
 hparticlepairdraw.cc:588
 hparticlepairdraw.cc:589
 hparticlepairdraw.cc:590
 hparticlepairdraw.cc:591
 hparticlepairdraw.cc:592
 hparticlepairdraw.cc:593
 hparticlepairdraw.cc:594
 hparticlepairdraw.cc:595
 hparticlepairdraw.cc:596
 hparticlepairdraw.cc:597
 hparticlepairdraw.cc:598
 hparticlepairdraw.cc:599
 hparticlepairdraw.cc:600
 hparticlepairdraw.cc:601
 hparticlepairdraw.cc:602
 hparticlepairdraw.cc:603
 hparticlepairdraw.cc:604
 hparticlepairdraw.cc:605
 hparticlepairdraw.cc:606
 hparticlepairdraw.cc:607
 hparticlepairdraw.cc:608
 hparticlepairdraw.cc:609
 hparticlepairdraw.cc:610
 hparticlepairdraw.cc:611
 hparticlepairdraw.cc:612
 hparticlepairdraw.cc:613
 hparticlepairdraw.cc:614
 hparticlepairdraw.cc:615
 hparticlepairdraw.cc:616
 hparticlepairdraw.cc:617
 hparticlepairdraw.cc:618
 hparticlepairdraw.cc:619
 hparticlepairdraw.cc:620
 hparticlepairdraw.cc:621
 hparticlepairdraw.cc:622
 hparticlepairdraw.cc:623
 hparticlepairdraw.cc:624
 hparticlepairdraw.cc:625
 hparticlepairdraw.cc:626
 hparticlepairdraw.cc:627
 hparticlepairdraw.cc:628
 hparticlepairdraw.cc:629
 hparticlepairdraw.cc:630
 hparticlepairdraw.cc:631
 hparticlepairdraw.cc:632
 hparticlepairdraw.cc:633
 hparticlepairdraw.cc:634
 hparticlepairdraw.cc:635
 hparticlepairdraw.cc:636
 hparticlepairdraw.cc:637
 hparticlepairdraw.cc:638
 hparticlepairdraw.cc:639
 hparticlepairdraw.cc:640
 hparticlepairdraw.cc:641
 hparticlepairdraw.cc:642
 hparticlepairdraw.cc:643
 hparticlepairdraw.cc:644
 hparticlepairdraw.cc:645
 hparticlepairdraw.cc:646
 hparticlepairdraw.cc:647
 hparticlepairdraw.cc:648
 hparticlepairdraw.cc:649
 hparticlepairdraw.cc:650
 hparticlepairdraw.cc:651
 hparticlepairdraw.cc:652
 hparticlepairdraw.cc:653
 hparticlepairdraw.cc:654
 hparticlepairdraw.cc:655
 hparticlepairdraw.cc:656
 hparticlepairdraw.cc:657
 hparticlepairdraw.cc:658
 hparticlepairdraw.cc:659
 hparticlepairdraw.cc:660
 hparticlepairdraw.cc:661
 hparticlepairdraw.cc:662
 hparticlepairdraw.cc:663
 hparticlepairdraw.cc:664
 hparticlepairdraw.cc:665
 hparticlepairdraw.cc:666
 hparticlepairdraw.cc:667
 hparticlepairdraw.cc:668
 hparticlepairdraw.cc:669
 hparticlepairdraw.cc:670
 hparticlepairdraw.cc:671
 hparticlepairdraw.cc:672
 hparticlepairdraw.cc:673
 hparticlepairdraw.cc:674
 hparticlepairdraw.cc:675
 hparticlepairdraw.cc:676
 hparticlepairdraw.cc:677
 hparticlepairdraw.cc:678
 hparticlepairdraw.cc:679
 hparticlepairdraw.cc:680
 hparticlepairdraw.cc:681
 hparticlepairdraw.cc:682
 hparticlepairdraw.cc:683
 hparticlepairdraw.cc:684
 hparticlepairdraw.cc:685
 hparticlepairdraw.cc:686
 hparticlepairdraw.cc:687
 hparticlepairdraw.cc:688
 hparticlepairdraw.cc:689
 hparticlepairdraw.cc:690
 hparticlepairdraw.cc:691
 hparticlepairdraw.cc:692
 hparticlepairdraw.cc:693
 hparticlepairdraw.cc:694
 hparticlepairdraw.cc:695
 hparticlepairdraw.cc:696
 hparticlepairdraw.cc:697
 hparticlepairdraw.cc:698
 hparticlepairdraw.cc:699
 hparticlepairdraw.cc:700
 hparticlepairdraw.cc:701
 hparticlepairdraw.cc:702
 hparticlepairdraw.cc:703
 hparticlepairdraw.cc:704
 hparticlepairdraw.cc:705
 hparticlepairdraw.cc:706
 hparticlepairdraw.cc:707
 hparticlepairdraw.cc:708
 hparticlepairdraw.cc:709
 hparticlepairdraw.cc:710
 hparticlepairdraw.cc:711
 hparticlepairdraw.cc:712
 hparticlepairdraw.cc:713
 hparticlepairdraw.cc:714
 hparticlepairdraw.cc:715
 hparticlepairdraw.cc:716
 hparticlepairdraw.cc:717
 hparticlepairdraw.cc:718
 hparticlepairdraw.cc:719
 hparticlepairdraw.cc:720
 hparticlepairdraw.cc:721
 hparticlepairdraw.cc:722
 hparticlepairdraw.cc:723
 hparticlepairdraw.cc:724
 hparticlepairdraw.cc:725
 hparticlepairdraw.cc:726
 hparticlepairdraw.cc:727
 hparticlepairdraw.cc:728
 hparticlepairdraw.cc:729
 hparticlepairdraw.cc:730
 hparticlepairdraw.cc:731
 hparticlepairdraw.cc:732
 hparticlepairdraw.cc:733
 hparticlepairdraw.cc:734
 hparticlepairdraw.cc:735
 hparticlepairdraw.cc:736
 hparticlepairdraw.cc:737
 hparticlepairdraw.cc:738
 hparticlepairdraw.cc:739
 hparticlepairdraw.cc:740
 hparticlepairdraw.cc:741
 hparticlepairdraw.cc:742
 hparticlepairdraw.cc:743
 hparticlepairdraw.cc:744
 hparticlepairdraw.cc:745
 hparticlepairdraw.cc:746
 hparticlepairdraw.cc:747
 hparticlepairdraw.cc:748
 hparticlepairdraw.cc:749
 hparticlepairdraw.cc:750
 hparticlepairdraw.cc:751
 hparticlepairdraw.cc:752
 hparticlepairdraw.cc:753
 hparticlepairdraw.cc:754
 hparticlepairdraw.cc:755
 hparticlepairdraw.cc:756
 hparticlepairdraw.cc:757
 hparticlepairdraw.cc:758
 hparticlepairdraw.cc:759
 hparticlepairdraw.cc:760
 hparticlepairdraw.cc:761
 hparticlepairdraw.cc:762
 hparticlepairdraw.cc:763
 hparticlepairdraw.cc:764
 hparticlepairdraw.cc:765
 hparticlepairdraw.cc:766
 hparticlepairdraw.cc:767
 hparticlepairdraw.cc:768
 hparticlepairdraw.cc:769
 hparticlepairdraw.cc:770
 hparticlepairdraw.cc:771
 hparticlepairdraw.cc:772
 hparticlepairdraw.cc:773
 hparticlepairdraw.cc:774
 hparticlepairdraw.cc:775
 hparticlepairdraw.cc:776
 hparticlepairdraw.cc:777
 hparticlepairdraw.cc:778
 hparticlepairdraw.cc:779
 hparticlepairdraw.cc:780
 hparticlepairdraw.cc:781
 hparticlepairdraw.cc:782
 hparticlepairdraw.cc:783
 hparticlepairdraw.cc:784
 hparticlepairdraw.cc:785
 hparticlepairdraw.cc:786
 hparticlepairdraw.cc:787
 hparticlepairdraw.cc:788
 hparticlepairdraw.cc:789
 hparticlepairdraw.cc:790
 hparticlepairdraw.cc:791
 hparticlepairdraw.cc:792
 hparticlepairdraw.cc:793
 hparticlepairdraw.cc:794
 hparticlepairdraw.cc:795
 hparticlepairdraw.cc:796
 hparticlepairdraw.cc:797
 hparticlepairdraw.cc:798
 hparticlepairdraw.cc:799
 hparticlepairdraw.cc:800
 hparticlepairdraw.cc:801
 hparticlepairdraw.cc:802
 hparticlepairdraw.cc:803
 hparticlepairdraw.cc:804
 hparticlepairdraw.cc:805
 hparticlepairdraw.cc:806
 hparticlepairdraw.cc:807
 hparticlepairdraw.cc:808
 hparticlepairdraw.cc:809
 hparticlepairdraw.cc:810
 hparticlepairdraw.cc:811
 hparticlepairdraw.cc:812
 hparticlepairdraw.cc:813
 hparticlepairdraw.cc:814
 hparticlepairdraw.cc:815
 hparticlepairdraw.cc:816
 hparticlepairdraw.cc:817
 hparticlepairdraw.cc:818
 hparticlepairdraw.cc:819
 hparticlepairdraw.cc:820
 hparticlepairdraw.cc:821
 hparticlepairdraw.cc:822
 hparticlepairdraw.cc:823
 hparticlepairdraw.cc:824
 hparticlepairdraw.cc:825
 hparticlepairdraw.cc:826
 hparticlepairdraw.cc:827
 hparticlepairdraw.cc:828
 hparticlepairdraw.cc:829
 hparticlepairdraw.cc:830
 hparticlepairdraw.cc:831
 hparticlepairdraw.cc:832
 hparticlepairdraw.cc:833
 hparticlepairdraw.cc:834
 hparticlepairdraw.cc:835
 hparticlepairdraw.cc:836
 hparticlepairdraw.cc:837
 hparticlepairdraw.cc:838
 hparticlepairdraw.cc:839
 hparticlepairdraw.cc:840
 hparticlepairdraw.cc:841
 hparticlepairdraw.cc:842
 hparticlepairdraw.cc:843
 hparticlepairdraw.cc:844
 hparticlepairdraw.cc:845
 hparticlepairdraw.cc:846
 hparticlepairdraw.cc:847
 hparticlepairdraw.cc:848
 hparticlepairdraw.cc:849
 hparticlepairdraw.cc:850
 hparticlepairdraw.cc:851
 hparticlepairdraw.cc:852
 hparticlepairdraw.cc:853
 hparticlepairdraw.cc:854
 hparticlepairdraw.cc:855
 hparticlepairdraw.cc:856
 hparticlepairdraw.cc:857
 hparticlepairdraw.cc:858
 hparticlepairdraw.cc:859
 hparticlepairdraw.cc:860
 hparticlepairdraw.cc:861
 hparticlepairdraw.cc:862
 hparticlepairdraw.cc:863
 hparticlepairdraw.cc:864
 hparticlepairdraw.cc:865
 hparticlepairdraw.cc:866
 hparticlepairdraw.cc:867
 hparticlepairdraw.cc:868
 hparticlepairdraw.cc:869
 hparticlepairdraw.cc:870
 hparticlepairdraw.cc:871
 hparticlepairdraw.cc:872
 hparticlepairdraw.cc:873
 hparticlepairdraw.cc:874
 hparticlepairdraw.cc:875
 hparticlepairdraw.cc:876
 hparticlepairdraw.cc:877
 hparticlepairdraw.cc:878
 hparticlepairdraw.cc:879
 hparticlepairdraw.cc:880
 hparticlepairdraw.cc:881
 hparticlepairdraw.cc:882
 hparticlepairdraw.cc:883
 hparticlepairdraw.cc:884
 hparticlepairdraw.cc:885
 hparticlepairdraw.cc:886
 hparticlepairdraw.cc:887
 hparticlepairdraw.cc:888
 hparticlepairdraw.cc:889
 hparticlepairdraw.cc:890
 hparticlepairdraw.cc:891
 hparticlepairdraw.cc:892
 hparticlepairdraw.cc:893
 hparticlepairdraw.cc:894
 hparticlepairdraw.cc:895
 hparticlepairdraw.cc:896
 hparticlepairdraw.cc:897
 hparticlepairdraw.cc:898
 hparticlepairdraw.cc:899
 hparticlepairdraw.cc:900
 hparticlepairdraw.cc:901
 hparticlepairdraw.cc:902
 hparticlepairdraw.cc:903
 hparticlepairdraw.cc:904
 hparticlepairdraw.cc:905
 hparticlepairdraw.cc:906
 hparticlepairdraw.cc:907
 hparticlepairdraw.cc:908
 hparticlepairdraw.cc:909
 hparticlepairdraw.cc:910
 hparticlepairdraw.cc:911
 hparticlepairdraw.cc:912
 hparticlepairdraw.cc:913
 hparticlepairdraw.cc:914
 hparticlepairdraw.cc:915
 hparticlepairdraw.cc:916
 hparticlepairdraw.cc:917
 hparticlepairdraw.cc:918
 hparticlepairdraw.cc:919
 hparticlepairdraw.cc:920
 hparticlepairdraw.cc:921
 hparticlepairdraw.cc:922
 hparticlepairdraw.cc:923
 hparticlepairdraw.cc:924
 hparticlepairdraw.cc:925
 hparticlepairdraw.cc:926
 hparticlepairdraw.cc:927
 hparticlepairdraw.cc:928
 hparticlepairdraw.cc:929
 hparticlepairdraw.cc:930
 hparticlepairdraw.cc:931
 hparticlepairdraw.cc:932
 hparticlepairdraw.cc:933
 hparticlepairdraw.cc:934
 hparticlepairdraw.cc:935
 hparticlepairdraw.cc:936
 hparticlepairdraw.cc:937
 hparticlepairdraw.cc:938
 hparticlepairdraw.cc:939