//___________________________________________________________
//
//  A++ Object Selection Tool for SgTop D3PDs
//
//  This tool is used to select objects, like jets or leptons
//  for top analysis and the corresponding tools for the
//  SgTop D3PDs.
// 
//  Author: Soeren Stamm <mailto:stamm@physik.hu-berlin.de> 
//  Update: $Id: AtlObjectsToolD3PDSgTop.cxx,v 1.23 2017/07/12 13:09:02 kind Exp $
//  Copyright: 2013 (C) Soeren Stamm
//
//
#ifndef ATLAS_AtlObjectsToolD3PDSgTop
#include <AtlObjectsToolD3PDSgTop.h>
#endif
#include <AtlEvent.h>
#include <TIterator.h>
#include <TString.h>
#include <iostream>
#include <TMath.h>
#include <vector>
#include "TLorentzVector.h"

using namespace std;

#ifndef __CINT__
ClassImp(AtlObjectsToolD3PDSgTop);
#endif

//___________________________________________________________

AtlObjectsToolD3PDSgTop::AtlObjectsToolD3PDSgTop(const char* name, const char* title) : 
    AtlObjectsDefinitionTool(name, title) {
    //
    // Default constructor
    //
    fLeptons   = new TList;
    fElectrons = new TList;
    fMuons     = new TList;
    fLooseLeptons   = new TList;
    fLooseElectrons = new TList;
    fLooseMuons     = new TList;
    fLooseTaus      = new TList;
    fJets      = new TList;
    fBJets     = new TList;
    
    SetCutDefaults();
}

//___________________________________________________________

AtlObjectsToolD3PDSgTop::~AtlObjectsToolD3PDSgTop(){
    //
    // Default destructor
    //
    delete fLeptons;
    delete fElectrons;
    delete fMuons;
    delete fLooseLeptons;
    delete fLooseElectrons;
    delete fLooseMuons;
    delete fLooseTaus;
    delete fJets;
    delete fBJets;    
}

//___________________________________________________________

void AtlObjectsToolD3PDSgTop::SetBranchStatus() {
    //
    // Switch on needed branches
    //
    fTree->SetBranchStatus("fEventHeader*",               kTRUE);
    fTree->SetBranchStatus("fN_AntiKt4LCTopoJets*",       kTRUE);
    fTree->SetBranchStatus("fAntiKt4LCTopoJets*",         kTRUE);
    fTree->SetBranchStatus("fN_Electrons*",               kTRUE);
    fTree->SetBranchStatus("fElectrons*",                 kTRUE);
    fTree->SetBranchStatus("fN_Muons*",                   kTRUE);
    fTree->SetBranchStatus("fMuons*",                     kTRUE);
}

//___________________________________________________________

void AtlObjectsToolD3PDSgTop::SetCutDefaults() {
    //
    // Selection cut defaults
    //
    
    // Define when the tool runs and how
    fProcessMode       = AtlAnalysisTool::kObjectsDefinition;
    fLepChannel        = 0x0;
    
    // Leptons
    // =======
    fElectronPt_min = 25.0; // already preselected in SgTopD3PD
    fMuonPt_min     = 25.0; // already preselected in SgTopD3PD

    fUseTaus = kFALSE; // Disable hadronic taus

    // Jets
    // ====
    fJetsAuthor  = AtlJet::kAntiKt4LCTopo;
    fJetEta_min  = 0.;
    fJetEta_max  = 1.e10;
    fBJetEta_min = 0.;  // B-Jets need inner detector tracks
    fBJetEta_max = 2.5; // (|Eta| < 2.5)
    fJetPt_min   = 0.;
    fJetN_min    = 0;
    fJetN_max    = 0;
    fFwdJetEta_min  = 0.;
    fFwdJetEta_max  = 1.e10;
    fFwdJetPt_min   = 0.;
    
    // B-tag weight cuts
    fBTagger        = AtlBTag::kMV1;
    fBTagWeight_min = 0.7892; // MV1@70% 
    fBTagWeight_max = 1.e10;  // no upper cut value by default 
}

//___________________________________________________________

void AtlObjectsToolD3PDSgTop::Clear() {
    //
    //  Clears the dynamically allocated objects
    //    
    fLeptons->Clear();
    fElectrons->Clear();
    fMuons->Clear();
    fLooseLeptons->Clear();
    fLooseElectrons->Clear();
    fLooseMuons->Clear();
    fLooseTaus->Clear();
    fJets->Clear();
    fBJets->Clear();
}

//___________________________________________________________

void AtlObjectsToolD3PDSgTop::BookHistograms(){
    //
    // Book histograms
    //
}

//___________________________________________________________

void AtlObjectsToolD3PDSgTop::FindElectrons() {
    // 
    // Find Signal Electrons
    // 
    AtlElectron *el = 0;	
    TClonesArray *electrons = fEvent->GetElectrons();
    for ( Int_t i = 0; i < fEvent->GetN_Electrons(); ++i ){
	el = (AtlElectron*)electrons->At(i);
	if ( el->Pt() >= fElectronPt_min &&
	     el->IsTight() ) {
	    fElectrons->Add(el);
	}
	if ( el->IsLoose() ) {
	    fLooseElectrons->Add(el);
	}
    }
    fElectrons->Sort(kSortDescending);
    fLooseElectrons->Sort(kSortDescending);
}

//___________________________________________________________

void AtlObjectsToolD3PDSgTop::FindMuons() {
    // 
    // Find Muons
    // 
    AtlMuon *mu = 0;
    TClonesArray *muons = fEvent->GetMuons();
    for ( Int_t i = 0; i < fEvent->GetN_Muons(); i++ ) {
	mu = (AtlMuon*)muons->At(i);
	if ( mu->Pt() >= fMuonPt_min
	     && mu->IsTight() )
	    fMuons->Add(mu);
	if ( mu->IsLoose() )
	    fLooseMuons->Add(mu);
    }
    fMuons->Sort(kSortDescending);
    fLooseMuons->Sort(kSortDescending);
} 

//___________________________________________________________

void AtlObjectsToolD3PDSgTop::FindTaus() {
    // 
    // Find Taus
    //
    
    AtlTau *tau = 0;
    TClonesArray* taus = fEvent->GetTaus();
    for ( Int_t i = 0; i < fEvent->GetN_Taus(); i++ ) {
	tau = (AtlTau*)taus->At(i);
	// Taus are already loose
	fLooseTaus->Add(tau);
    }
    fLooseTaus->Sort(kSortDescending);
} 

//___________________________________________________________

void AtlObjectsToolD3PDSgTop::FindJets() {
    // 
    // Find Jets
    // 
    AtlJet *jet = 0;
    TClonesArray *jets = fEvent->GetJets(fJetsAuthor);
    for ( Int_t i = 0; i < fEvent->GetN_Jets(fJetsAuthor); ++i ) {
  	jet = (AtlJet*)jets->At(i);
	if ( jet->Pt() >= fJetPt_min 
	     && TMath::Abs(jet->Eta()) >= fJetEta_min 
	     && TMath::Abs(jet->Eta()) <= fJetEta_max ) {

	    // Forward jet cut
	    if ( jet->Pt() < fFwdJetPt_min 
		 && TMath::Abs(jet->Eta()) >= fFwdJetEta_min
		 && TMath::Abs(jet->Eta()) <= fFwdJetEta_max )
		continue;

	    fJets->Add(jet);
	}
    }
    fJets->Sort(kSortDescending);
}

//___________________________________________________________

void AtlObjectsToolD3PDSgTop::FindBJets() {
    // 
    // Find B-Jets
    // 
    AtlJet  *jet = 0;
    TClonesArray *jets = fEvent->GetJets(fJetsAuthor);
    for ( Int_t i = 0; i < fEvent->GetN_Jets(fJetsAuthor); ++i ) {
     	jet = (AtlJet*)jets->At(i);
	const AtlBTag *tag = jet->GetTag(fBTagger);
	if ( jet->Pt() >= fJetPt_min
	     && TMath::Abs(jet->Eta()) >= fBJetEta_min 
	     && TMath::Abs(jet->Eta()) <= fBJetEta_max
	     && tag->IsValid() ) {
	    if ( fEvent->IsRun1() ) {
		if ( tag->GetWeight() > fBTagWeight_min
		     && tag->GetWeight() < fBTagWeight_max )
		    fBJets->Add(jet);
	    } else if ( fEvent->IsRun2() ) {
		// No tag weights used any longer; tags are stored as
		// booleans only (in the weight data member for
		// convenience)
		if ( tag->GetWeight() > 0.5 ) 
		    fBJets->Add(jet);
	    } else {
		Fatal(__FUNCTION__, "Invalid run phase. Abort!");
		gSystem->Abort(1);
	    }
	}
    }
    fBJets->Sort(kSortDescending);
}

//___________________________________________________________

void AtlObjectsToolD3PDSgTop::FindLeptons() {
    //
    // Construct signal lepton list dependent on lepton mode
    //

    // Find all leptons
    FindElectrons();
    FindMuons();
    FindTaus();

    // Construct lepton list
    if ( fLepChannel & (AtlSelector::kElectron | AtlSelector::kLepton) ) {
	fLeptons->AddAll(fElectrons);
    }
    if ( fLepChannel & (AtlSelector::kMuon | AtlSelector::kLepton) ) {
	fLeptons->AddAll(fMuons);
    }
    fLooseLeptons->AddAll(fLooseElectrons);
    fLooseLeptons->AddAll(fLooseMuons);
    if ( fUseTaus ) 
	fLooseLeptons->AddAll(fLooseTaus);

    // Sort descending by Pt
    fLeptons->Sort(kSortDescending);
    fLooseLeptons->Sort(kSortDescending);
}

//___________________________________________________________

Bool_t AtlObjectsToolD3PDSgTop::AnalyzeEvent() {
    //
    // Event analysis: required object selection
    //

    // >>>> Temporary fix for Run2  <<<<
    bool needTriggerMatching = ( fEvent->BeamEnergy() > 5555. );

    // Trigger matching
    if ( needTriggerMatching ) {

        bool isTriggerMatched = false;
        for ( TIter next(fEvent->GetElectrons()); AtlElectron * lep = static_cast<AtlElectron *>(next()); ) {
            if (lep->IsTriggerMatched()) {
                isTriggerMatched = true;
            }
        }
        for ( TIter next(fEvent->GetMuons()); AtlMuon * lep = static_cast<AtlMuon *>(next()); ) {
            if (lep->IsTriggerMatched()) {
                isTriggerMatched = true;
            }
        }
        if ( !isTriggerMatched )
            return kFALSE;
    }

    // Leptons
    FindLeptons();
    
    LooseLeptonOverlapRemoval();
    fLooseLeptons->Sort(kSortDescending);
    
    // Jets
    FindJets();

    // Find b-jets
    FindBJets();
    
    // Apply Jet-Bin cut
    if ( fJets->GetEntries() < fJetN_min ||
     	 fJets->GetEntries() > fJetN_max )
	return kFALSE;

    return kTRUE;
}

//___________________________________________________________

void AtlObjectsToolD3PDSgTop::FillHistograms() {
    //
    // Method for filling histograms, only events that survive 
    // AnalyzeEvent() are taken into account
    //
}

//___________________________________________________________

void AtlObjectsToolD3PDSgTop::Init() {
    //
    // Init Jet-Bin values once
    //

    // Set JetN_max & JetN_min
    SetJetN();
}

//___________________________________________________________

void AtlObjectsToolD3PDSgTop::Print() const {
    //
    // Print cuts for object selection of the tool
    //
    cout << endl
	 << "========================================================" << endl
	 << "  Atl Objects Tool D3PD SgTop                           " << endl
	 << "========================================================" << endl
	 << "  Chosen process mode is       "
	 << ( (fProcessMode == AtlAnalysisTool::kObjectsDefinition) ? "kObjectsDefinition" : "Should be kObjectsDefinition!" ) << endl
	 << "--------------------------------------------------------" << endl 
	 << "  Specifications of physics objects:                    " << endl
	 << "--------------------------------------------------------" << endl
	 << "  Leptons: " << endl;
    switch ( fLepChannel ) {
	case AtlSelector::kElectron:
	    cout << "  Lepton Mode      = kElectron" << endl
		 << "  fElectronPt_min  = " << fElectronPt_min << " GeV" << endl;
	    break;
	case AtlSelector::kMuon:
	    cout << "  Lepton Mode      = kMuon" << endl
		 << "  fMuonPt_min      = " << fMuonPt_min << " GeV" << endl;
	    break;
	case AtlSelector::kLepton:
	    cout << "  Lepton Mode      = kLepton" << endl
		 << "  fElectronPt_min  = " << fElectronPt_min << " GeV" << endl
		 << "  fMuonPt_min      = " << fMuonPt_min << " GeV" << endl;
	    break;
	default:
	    Error("Print", "Which Lepton?");
    }
    cout << endl
	 << "  fUseTaus = ";
    if ( fUseTaus == kTRUE ) {
	cout << "true" << endl;
    } else {
	cout << "false" << endl;
    }
    cout << "--------------------------------------------------------" << endl
	 << "  Jets: " << endl
	 << "  fJetMultiplicity = " << AtlSelector::GetJetMultEnum(fJetMults) << endl
	 << "  fJetN_min        = " << fJetN_min << endl
	 << "  fJetN_max        = " << fJetN_max << endl
	 << endl
	 << "  fJetsAuthor      = " << AtlJet::NameOfType(fJetsAuthor) << endl
	 << "  fJetPt_min       = " << fJetPt_min << " GeV" << endl
	 << "  fJetEta_min      = " << fJetEta_min << endl
	 << "  fJetEta_max      = " << fJetEta_max << endl
	 << endl
	 << "  fFwdJetPt_min    = " << fFwdJetPt_min << endl
	 << "  fFwdJetEta_min   = " << fFwdJetEta_min << endl
	 << "  fFwdJetEta_max   = " << fFwdJetEta_max << endl
	 << endl
	 << "  fBTagger         = " << AtlBTag::GetTaggerName(fBTagger) << endl
	 << "  fBTagWeight_min  = " << fBTagWeight_min << endl
	 << "  fBTagWeight_max  = " << fBTagWeight_max << endl
	 << "  fBJetEta_min     = " << fBJetEta_min << endl
	 << "  fBJetEta_max     = " << fBJetEta_max << endl
	 << "========================================================" << endl
	 << endl;
}

//___________________________________________________________

void AtlObjectsToolD3PDSgTop::Terminate() {
    //
    // Executed at the end of the tool
    //
}

//___________________________________________________________________

void AtlObjectsToolD3PDSgTop::SetJetN() {
    //
    // Set Jet Multiplicity
    // (i.e. fJetN_min & fJetN_max)
    //
    switch ( fJetMults ) {
	case AtlSelector::kOneJet:
	    fJetN_min = 1; fJetN_max = 1;
	    break;
	case AtlSelector::kTwoJet:
	    fJetN_min = 2; fJetN_max = 2;
	    break;
	case AtlSelector::kThreeJet:
	    fJetN_min = 3; fJetN_max = 3;
	    break;
	case AtlSelector::kFourJet:
	    fJetN_min = 4; fJetN_max = 4;
	    break;
	case AtlSelector::kFiveJet:
	    fJetN_min = 5; fJetN_max = 5;
	    break;
	case AtlSelector::kSixJet:
	    fJetN_min = 6; fJetN_max = 6;
	    break;
	case AtlSelector::k4To6Jets:
	    fJetN_min = 4; fJetN_max = 6;
		break;
	case AtlSelector::kOneOrMoreJets:
		fJetN_min = 1; fJetN_max = 999;
		break;
	case AtlSelector::kTwoOrMoreJets:
		fJetN_min = 2; fJetN_max = 999;
		break;
	case AtlSelector::kThreeOrMoreJets:
		fJetN_min = 3; fJetN_max = 999;
		break;
	case AtlSelector::kAllJets:
		fJetN_min = 0; fJetN_max = 999;
		break;
	default:
		Error("SetJetN()", "Jet Multiplicity not known! Abort!");
		gSystem->Abort(0);
	}
}

//___________________________________________________________

void AtlObjectsToolD3PDSgTop::LooseLeptonOverlapRemoval() {
	//
	// Remove any loose lepton that is overlapping with the leading
	// tight lepton
	//
	// This funtion is needed since this kind of overlap removal is
	// not performed in AnalysisTop
	//
	HepParticle *TightLepton = 0;
	if ( fLepChannel & AtlSelector::kElectron ) {
		TightLepton = (HepParticle*) fElectrons->At(0);
	}
	if ( fLepChannel & AtlSelector::kMuon ) {
		TightLepton = (HepParticle*) fMuons->At(0);
	}
	if ( !TightLepton )
		return;

	TIter next_lep(fLooseLeptons);
	HepParticle *LooseLepton = 0;
	while ( (LooseLepton = (HepParticle*) next_lep()) ) {
		if ( TightLepton->DeltaR(LooseLepton) < 0.4 ) {
			fLooseLeptons->Remove(LooseLepton);
		}
	}
}

//___________________________________________________________

void AtlObjectsToolD3PDSgTop::ApplyLooseLeptonPtCut() {
    //
    // When Using FindElectrons() or FindMuons(), there is no pT cut
    // applied for loose leptons. However, this is needed for the
    // QCD Matrix Method.
    //
    TIter next_lep(fLooseLeptons);
    HepParticle *loose_lep = 0;
    while ( (loose_lep = (HepParticle*) next_lep()) ) {
	if ( loose_lep->IsElectron() ) {
	    if ( loose_lep->Pt() < fElectronPt_min ) {
		fLooseLeptons->Remove(loose_lep);
	    }
	} else if ( loose_lep->IsMuon() ) {
	    if ( loose_lep->Pt() < fMuonPt_min ) {
		fLooseLeptons->Remove(loose_lep);
	    }
	} else {
	    // something went wrong; this should not happen unless
	    // fUseTaus is set
	    Warning(__FUNCTION__, "Lepton has invalid ID of %d",
		    loose_lep->GetPdgCode());
	    fLooseLeptons->Remove(loose_lep);
	}
    }
}
 AtlObjectsToolD3PDSgTop.cxx:1
 AtlObjectsToolD3PDSgTop.cxx:2
 AtlObjectsToolD3PDSgTop.cxx:3
 AtlObjectsToolD3PDSgTop.cxx:4
 AtlObjectsToolD3PDSgTop.cxx:5
 AtlObjectsToolD3PDSgTop.cxx:6
 AtlObjectsToolD3PDSgTop.cxx:7
 AtlObjectsToolD3PDSgTop.cxx:8
 AtlObjectsToolD3PDSgTop.cxx:9
 AtlObjectsToolD3PDSgTop.cxx:10
 AtlObjectsToolD3PDSgTop.cxx:11
 AtlObjectsToolD3PDSgTop.cxx:12
 AtlObjectsToolD3PDSgTop.cxx:13
 AtlObjectsToolD3PDSgTop.cxx:14
 AtlObjectsToolD3PDSgTop.cxx:15
 AtlObjectsToolD3PDSgTop.cxx:16
 AtlObjectsToolD3PDSgTop.cxx:17
 AtlObjectsToolD3PDSgTop.cxx:18
 AtlObjectsToolD3PDSgTop.cxx:19
 AtlObjectsToolD3PDSgTop.cxx:20
 AtlObjectsToolD3PDSgTop.cxx:21
 AtlObjectsToolD3PDSgTop.cxx:22
 AtlObjectsToolD3PDSgTop.cxx:23
 AtlObjectsToolD3PDSgTop.cxx:24
 AtlObjectsToolD3PDSgTop.cxx:25
 AtlObjectsToolD3PDSgTop.cxx:26
 AtlObjectsToolD3PDSgTop.cxx:27
 AtlObjectsToolD3PDSgTop.cxx:28
 AtlObjectsToolD3PDSgTop.cxx:29
 AtlObjectsToolD3PDSgTop.cxx:30
 AtlObjectsToolD3PDSgTop.cxx:31
 AtlObjectsToolD3PDSgTop.cxx:32
 AtlObjectsToolD3PDSgTop.cxx:33
 AtlObjectsToolD3PDSgTop.cxx:34
 AtlObjectsToolD3PDSgTop.cxx:35
 AtlObjectsToolD3PDSgTop.cxx:36
 AtlObjectsToolD3PDSgTop.cxx:37
 AtlObjectsToolD3PDSgTop.cxx:38
 AtlObjectsToolD3PDSgTop.cxx:39
 AtlObjectsToolD3PDSgTop.cxx:40
 AtlObjectsToolD3PDSgTop.cxx:41
 AtlObjectsToolD3PDSgTop.cxx:42
 AtlObjectsToolD3PDSgTop.cxx:43
 AtlObjectsToolD3PDSgTop.cxx:44
 AtlObjectsToolD3PDSgTop.cxx:45
 AtlObjectsToolD3PDSgTop.cxx:46
 AtlObjectsToolD3PDSgTop.cxx:47
 AtlObjectsToolD3PDSgTop.cxx:48
 AtlObjectsToolD3PDSgTop.cxx:49
 AtlObjectsToolD3PDSgTop.cxx:50
 AtlObjectsToolD3PDSgTop.cxx:51
 AtlObjectsToolD3PDSgTop.cxx:52
 AtlObjectsToolD3PDSgTop.cxx:53
 AtlObjectsToolD3PDSgTop.cxx:54
 AtlObjectsToolD3PDSgTop.cxx:55
 AtlObjectsToolD3PDSgTop.cxx:56
 AtlObjectsToolD3PDSgTop.cxx:57
 AtlObjectsToolD3PDSgTop.cxx:58
 AtlObjectsToolD3PDSgTop.cxx:59
 AtlObjectsToolD3PDSgTop.cxx:60
 AtlObjectsToolD3PDSgTop.cxx:61
 AtlObjectsToolD3PDSgTop.cxx:62
 AtlObjectsToolD3PDSgTop.cxx:63
 AtlObjectsToolD3PDSgTop.cxx:64
 AtlObjectsToolD3PDSgTop.cxx:65
 AtlObjectsToolD3PDSgTop.cxx:66
 AtlObjectsToolD3PDSgTop.cxx:67
 AtlObjectsToolD3PDSgTop.cxx:68
 AtlObjectsToolD3PDSgTop.cxx:69
 AtlObjectsToolD3PDSgTop.cxx:70
 AtlObjectsToolD3PDSgTop.cxx:71
 AtlObjectsToolD3PDSgTop.cxx:72
 AtlObjectsToolD3PDSgTop.cxx:73
 AtlObjectsToolD3PDSgTop.cxx:74
 AtlObjectsToolD3PDSgTop.cxx:75
 AtlObjectsToolD3PDSgTop.cxx:76
 AtlObjectsToolD3PDSgTop.cxx:77
 AtlObjectsToolD3PDSgTop.cxx:78
 AtlObjectsToolD3PDSgTop.cxx:79
 AtlObjectsToolD3PDSgTop.cxx:80
 AtlObjectsToolD3PDSgTop.cxx:81
 AtlObjectsToolD3PDSgTop.cxx:82
 AtlObjectsToolD3PDSgTop.cxx:83
 AtlObjectsToolD3PDSgTop.cxx:84
 AtlObjectsToolD3PDSgTop.cxx:85
 AtlObjectsToolD3PDSgTop.cxx:86
 AtlObjectsToolD3PDSgTop.cxx:87
 AtlObjectsToolD3PDSgTop.cxx:88
 AtlObjectsToolD3PDSgTop.cxx:89
 AtlObjectsToolD3PDSgTop.cxx:90
 AtlObjectsToolD3PDSgTop.cxx:91
 AtlObjectsToolD3PDSgTop.cxx:92
 AtlObjectsToolD3PDSgTop.cxx:93
 AtlObjectsToolD3PDSgTop.cxx:94
 AtlObjectsToolD3PDSgTop.cxx:95
 AtlObjectsToolD3PDSgTop.cxx:96
 AtlObjectsToolD3PDSgTop.cxx:97
 AtlObjectsToolD3PDSgTop.cxx:98
 AtlObjectsToolD3PDSgTop.cxx:99
 AtlObjectsToolD3PDSgTop.cxx:100
 AtlObjectsToolD3PDSgTop.cxx:101
 AtlObjectsToolD3PDSgTop.cxx:102
 AtlObjectsToolD3PDSgTop.cxx:103
 AtlObjectsToolD3PDSgTop.cxx:104
 AtlObjectsToolD3PDSgTop.cxx:105
 AtlObjectsToolD3PDSgTop.cxx:106
 AtlObjectsToolD3PDSgTop.cxx:107
 AtlObjectsToolD3PDSgTop.cxx:108
 AtlObjectsToolD3PDSgTop.cxx:109
 AtlObjectsToolD3PDSgTop.cxx:110
 AtlObjectsToolD3PDSgTop.cxx:111
 AtlObjectsToolD3PDSgTop.cxx:112
 AtlObjectsToolD3PDSgTop.cxx:113
 AtlObjectsToolD3PDSgTop.cxx:114
 AtlObjectsToolD3PDSgTop.cxx:115
 AtlObjectsToolD3PDSgTop.cxx:116
 AtlObjectsToolD3PDSgTop.cxx:117
 AtlObjectsToolD3PDSgTop.cxx:118
 AtlObjectsToolD3PDSgTop.cxx:119
 AtlObjectsToolD3PDSgTop.cxx:120
 AtlObjectsToolD3PDSgTop.cxx:121
 AtlObjectsToolD3PDSgTop.cxx:122
 AtlObjectsToolD3PDSgTop.cxx:123
 AtlObjectsToolD3PDSgTop.cxx:124
 AtlObjectsToolD3PDSgTop.cxx:125
 AtlObjectsToolD3PDSgTop.cxx:126
 AtlObjectsToolD3PDSgTop.cxx:127
 AtlObjectsToolD3PDSgTop.cxx:128
 AtlObjectsToolD3PDSgTop.cxx:129
 AtlObjectsToolD3PDSgTop.cxx:130
 AtlObjectsToolD3PDSgTop.cxx:131
 AtlObjectsToolD3PDSgTop.cxx:132
 AtlObjectsToolD3PDSgTop.cxx:133
 AtlObjectsToolD3PDSgTop.cxx:134
 AtlObjectsToolD3PDSgTop.cxx:135
 AtlObjectsToolD3PDSgTop.cxx:136
 AtlObjectsToolD3PDSgTop.cxx:137
 AtlObjectsToolD3PDSgTop.cxx:138
 AtlObjectsToolD3PDSgTop.cxx:139
 AtlObjectsToolD3PDSgTop.cxx:140
 AtlObjectsToolD3PDSgTop.cxx:141
 AtlObjectsToolD3PDSgTop.cxx:142
 AtlObjectsToolD3PDSgTop.cxx:143
 AtlObjectsToolD3PDSgTop.cxx:144
 AtlObjectsToolD3PDSgTop.cxx:145
 AtlObjectsToolD3PDSgTop.cxx:146
 AtlObjectsToolD3PDSgTop.cxx:147
 AtlObjectsToolD3PDSgTop.cxx:148
 AtlObjectsToolD3PDSgTop.cxx:149
 AtlObjectsToolD3PDSgTop.cxx:150
 AtlObjectsToolD3PDSgTop.cxx:151
 AtlObjectsToolD3PDSgTop.cxx:152
 AtlObjectsToolD3PDSgTop.cxx:153
 AtlObjectsToolD3PDSgTop.cxx:154
 AtlObjectsToolD3PDSgTop.cxx:155
 AtlObjectsToolD3PDSgTop.cxx:156
 AtlObjectsToolD3PDSgTop.cxx:157
 AtlObjectsToolD3PDSgTop.cxx:158
 AtlObjectsToolD3PDSgTop.cxx:159
 AtlObjectsToolD3PDSgTop.cxx:160
 AtlObjectsToolD3PDSgTop.cxx:161
 AtlObjectsToolD3PDSgTop.cxx:162
 AtlObjectsToolD3PDSgTop.cxx:163
 AtlObjectsToolD3PDSgTop.cxx:164
 AtlObjectsToolD3PDSgTop.cxx:165
 AtlObjectsToolD3PDSgTop.cxx:166
 AtlObjectsToolD3PDSgTop.cxx:167
 AtlObjectsToolD3PDSgTop.cxx:168
 AtlObjectsToolD3PDSgTop.cxx:169
 AtlObjectsToolD3PDSgTop.cxx:170
 AtlObjectsToolD3PDSgTop.cxx:171
 AtlObjectsToolD3PDSgTop.cxx:172
 AtlObjectsToolD3PDSgTop.cxx:173
 AtlObjectsToolD3PDSgTop.cxx:174
 AtlObjectsToolD3PDSgTop.cxx:175
 AtlObjectsToolD3PDSgTop.cxx:176
 AtlObjectsToolD3PDSgTop.cxx:177
 AtlObjectsToolD3PDSgTop.cxx:178
 AtlObjectsToolD3PDSgTop.cxx:179
 AtlObjectsToolD3PDSgTop.cxx:180
 AtlObjectsToolD3PDSgTop.cxx:181
 AtlObjectsToolD3PDSgTop.cxx:182
 AtlObjectsToolD3PDSgTop.cxx:183
 AtlObjectsToolD3PDSgTop.cxx:184
 AtlObjectsToolD3PDSgTop.cxx:185
 AtlObjectsToolD3PDSgTop.cxx:186
 AtlObjectsToolD3PDSgTop.cxx:187
 AtlObjectsToolD3PDSgTop.cxx:188
 AtlObjectsToolD3PDSgTop.cxx:189
 AtlObjectsToolD3PDSgTop.cxx:190
 AtlObjectsToolD3PDSgTop.cxx:191
 AtlObjectsToolD3PDSgTop.cxx:192
 AtlObjectsToolD3PDSgTop.cxx:193
 AtlObjectsToolD3PDSgTop.cxx:194
 AtlObjectsToolD3PDSgTop.cxx:195
 AtlObjectsToolD3PDSgTop.cxx:196
 AtlObjectsToolD3PDSgTop.cxx:197
 AtlObjectsToolD3PDSgTop.cxx:198
 AtlObjectsToolD3PDSgTop.cxx:199
 AtlObjectsToolD3PDSgTop.cxx:200
 AtlObjectsToolD3PDSgTop.cxx:201
 AtlObjectsToolD3PDSgTop.cxx:202
 AtlObjectsToolD3PDSgTop.cxx:203
 AtlObjectsToolD3PDSgTop.cxx:204
 AtlObjectsToolD3PDSgTop.cxx:205
 AtlObjectsToolD3PDSgTop.cxx:206
 AtlObjectsToolD3PDSgTop.cxx:207
 AtlObjectsToolD3PDSgTop.cxx:208
 AtlObjectsToolD3PDSgTop.cxx:209
 AtlObjectsToolD3PDSgTop.cxx:210
 AtlObjectsToolD3PDSgTop.cxx:211
 AtlObjectsToolD3PDSgTop.cxx:212
 AtlObjectsToolD3PDSgTop.cxx:213
 AtlObjectsToolD3PDSgTop.cxx:214
 AtlObjectsToolD3PDSgTop.cxx:215
 AtlObjectsToolD3PDSgTop.cxx:216
 AtlObjectsToolD3PDSgTop.cxx:217
 AtlObjectsToolD3PDSgTop.cxx:218
 AtlObjectsToolD3PDSgTop.cxx:219
 AtlObjectsToolD3PDSgTop.cxx:220
 AtlObjectsToolD3PDSgTop.cxx:221
 AtlObjectsToolD3PDSgTop.cxx:222
 AtlObjectsToolD3PDSgTop.cxx:223
 AtlObjectsToolD3PDSgTop.cxx:224
 AtlObjectsToolD3PDSgTop.cxx:225
 AtlObjectsToolD3PDSgTop.cxx:226
 AtlObjectsToolD3PDSgTop.cxx:227
 AtlObjectsToolD3PDSgTop.cxx:228
 AtlObjectsToolD3PDSgTop.cxx:229
 AtlObjectsToolD3PDSgTop.cxx:230
 AtlObjectsToolD3PDSgTop.cxx:231
 AtlObjectsToolD3PDSgTop.cxx:232
 AtlObjectsToolD3PDSgTop.cxx:233
 AtlObjectsToolD3PDSgTop.cxx:234
 AtlObjectsToolD3PDSgTop.cxx:235
 AtlObjectsToolD3PDSgTop.cxx:236
 AtlObjectsToolD3PDSgTop.cxx:237
 AtlObjectsToolD3PDSgTop.cxx:238
 AtlObjectsToolD3PDSgTop.cxx:239
 AtlObjectsToolD3PDSgTop.cxx:240
 AtlObjectsToolD3PDSgTop.cxx:241
 AtlObjectsToolD3PDSgTop.cxx:242
 AtlObjectsToolD3PDSgTop.cxx:243
 AtlObjectsToolD3PDSgTop.cxx:244
 AtlObjectsToolD3PDSgTop.cxx:245
 AtlObjectsToolD3PDSgTop.cxx:246
 AtlObjectsToolD3PDSgTop.cxx:247
 AtlObjectsToolD3PDSgTop.cxx:248
 AtlObjectsToolD3PDSgTop.cxx:249
 AtlObjectsToolD3PDSgTop.cxx:250
 AtlObjectsToolD3PDSgTop.cxx:251
 AtlObjectsToolD3PDSgTop.cxx:252
 AtlObjectsToolD3PDSgTop.cxx:253
 AtlObjectsToolD3PDSgTop.cxx:254
 AtlObjectsToolD3PDSgTop.cxx:255
 AtlObjectsToolD3PDSgTop.cxx:256
 AtlObjectsToolD3PDSgTop.cxx:257
 AtlObjectsToolD3PDSgTop.cxx:258
 AtlObjectsToolD3PDSgTop.cxx:259
 AtlObjectsToolD3PDSgTop.cxx:260
 AtlObjectsToolD3PDSgTop.cxx:261
 AtlObjectsToolD3PDSgTop.cxx:262
 AtlObjectsToolD3PDSgTop.cxx:263
 AtlObjectsToolD3PDSgTop.cxx:264
 AtlObjectsToolD3PDSgTop.cxx:265
 AtlObjectsToolD3PDSgTop.cxx:266
 AtlObjectsToolD3PDSgTop.cxx:267
 AtlObjectsToolD3PDSgTop.cxx:268
 AtlObjectsToolD3PDSgTop.cxx:269
 AtlObjectsToolD3PDSgTop.cxx:270
 AtlObjectsToolD3PDSgTop.cxx:271
 AtlObjectsToolD3PDSgTop.cxx:272
 AtlObjectsToolD3PDSgTop.cxx:273
 AtlObjectsToolD3PDSgTop.cxx:274
 AtlObjectsToolD3PDSgTop.cxx:275
 AtlObjectsToolD3PDSgTop.cxx:276
 AtlObjectsToolD3PDSgTop.cxx:277
 AtlObjectsToolD3PDSgTop.cxx:278
 AtlObjectsToolD3PDSgTop.cxx:279
 AtlObjectsToolD3PDSgTop.cxx:280
 AtlObjectsToolD3PDSgTop.cxx:281
 AtlObjectsToolD3PDSgTop.cxx:282
 AtlObjectsToolD3PDSgTop.cxx:283
 AtlObjectsToolD3PDSgTop.cxx:284
 AtlObjectsToolD3PDSgTop.cxx:285
 AtlObjectsToolD3PDSgTop.cxx:286
 AtlObjectsToolD3PDSgTop.cxx:287
 AtlObjectsToolD3PDSgTop.cxx:288
 AtlObjectsToolD3PDSgTop.cxx:289
 AtlObjectsToolD3PDSgTop.cxx:290
 AtlObjectsToolD3PDSgTop.cxx:291
 AtlObjectsToolD3PDSgTop.cxx:292
 AtlObjectsToolD3PDSgTop.cxx:293
 AtlObjectsToolD3PDSgTop.cxx:294
 AtlObjectsToolD3PDSgTop.cxx:295
 AtlObjectsToolD3PDSgTop.cxx:296
 AtlObjectsToolD3PDSgTop.cxx:297
 AtlObjectsToolD3PDSgTop.cxx:298
 AtlObjectsToolD3PDSgTop.cxx:299
 AtlObjectsToolD3PDSgTop.cxx:300
 AtlObjectsToolD3PDSgTop.cxx:301
 AtlObjectsToolD3PDSgTop.cxx:302
 AtlObjectsToolD3PDSgTop.cxx:303
 AtlObjectsToolD3PDSgTop.cxx:304
 AtlObjectsToolD3PDSgTop.cxx:305
 AtlObjectsToolD3PDSgTop.cxx:306
 AtlObjectsToolD3PDSgTop.cxx:307
 AtlObjectsToolD3PDSgTop.cxx:308
 AtlObjectsToolD3PDSgTop.cxx:309
 AtlObjectsToolD3PDSgTop.cxx:310
 AtlObjectsToolD3PDSgTop.cxx:311
 AtlObjectsToolD3PDSgTop.cxx:312
 AtlObjectsToolD3PDSgTop.cxx:313
 AtlObjectsToolD3PDSgTop.cxx:314
 AtlObjectsToolD3PDSgTop.cxx:315
 AtlObjectsToolD3PDSgTop.cxx:316
 AtlObjectsToolD3PDSgTop.cxx:317
 AtlObjectsToolD3PDSgTop.cxx:318
 AtlObjectsToolD3PDSgTop.cxx:319
 AtlObjectsToolD3PDSgTop.cxx:320
 AtlObjectsToolD3PDSgTop.cxx:321
 AtlObjectsToolD3PDSgTop.cxx:322
 AtlObjectsToolD3PDSgTop.cxx:323
 AtlObjectsToolD3PDSgTop.cxx:324
 AtlObjectsToolD3PDSgTop.cxx:325
 AtlObjectsToolD3PDSgTop.cxx:326
 AtlObjectsToolD3PDSgTop.cxx:327
 AtlObjectsToolD3PDSgTop.cxx:328
 AtlObjectsToolD3PDSgTop.cxx:329
 AtlObjectsToolD3PDSgTop.cxx:330
 AtlObjectsToolD3PDSgTop.cxx:331
 AtlObjectsToolD3PDSgTop.cxx:332
 AtlObjectsToolD3PDSgTop.cxx:333
 AtlObjectsToolD3PDSgTop.cxx:334
 AtlObjectsToolD3PDSgTop.cxx:335
 AtlObjectsToolD3PDSgTop.cxx:336
 AtlObjectsToolD3PDSgTop.cxx:337
 AtlObjectsToolD3PDSgTop.cxx:338
 AtlObjectsToolD3PDSgTop.cxx:339
 AtlObjectsToolD3PDSgTop.cxx:340
 AtlObjectsToolD3PDSgTop.cxx:341
 AtlObjectsToolD3PDSgTop.cxx:342
 AtlObjectsToolD3PDSgTop.cxx:343
 AtlObjectsToolD3PDSgTop.cxx:344
 AtlObjectsToolD3PDSgTop.cxx:345
 AtlObjectsToolD3PDSgTop.cxx:346
 AtlObjectsToolD3PDSgTop.cxx:347
 AtlObjectsToolD3PDSgTop.cxx:348
 AtlObjectsToolD3PDSgTop.cxx:349
 AtlObjectsToolD3PDSgTop.cxx:350
 AtlObjectsToolD3PDSgTop.cxx:351
 AtlObjectsToolD3PDSgTop.cxx:352
 AtlObjectsToolD3PDSgTop.cxx:353
 AtlObjectsToolD3PDSgTop.cxx:354
 AtlObjectsToolD3PDSgTop.cxx:355
 AtlObjectsToolD3PDSgTop.cxx:356
 AtlObjectsToolD3PDSgTop.cxx:357
 AtlObjectsToolD3PDSgTop.cxx:358
 AtlObjectsToolD3PDSgTop.cxx:359
 AtlObjectsToolD3PDSgTop.cxx:360
 AtlObjectsToolD3PDSgTop.cxx:361
 AtlObjectsToolD3PDSgTop.cxx:362
 AtlObjectsToolD3PDSgTop.cxx:363
 AtlObjectsToolD3PDSgTop.cxx:364
 AtlObjectsToolD3PDSgTop.cxx:365
 AtlObjectsToolD3PDSgTop.cxx:366
 AtlObjectsToolD3PDSgTop.cxx:367
 AtlObjectsToolD3PDSgTop.cxx:368
 AtlObjectsToolD3PDSgTop.cxx:369
 AtlObjectsToolD3PDSgTop.cxx:370
 AtlObjectsToolD3PDSgTop.cxx:371
 AtlObjectsToolD3PDSgTop.cxx:372
 AtlObjectsToolD3PDSgTop.cxx:373
 AtlObjectsToolD3PDSgTop.cxx:374
 AtlObjectsToolD3PDSgTop.cxx:375
 AtlObjectsToolD3PDSgTop.cxx:376
 AtlObjectsToolD3PDSgTop.cxx:377
 AtlObjectsToolD3PDSgTop.cxx:378
 AtlObjectsToolD3PDSgTop.cxx:379
 AtlObjectsToolD3PDSgTop.cxx:380
 AtlObjectsToolD3PDSgTop.cxx:381
 AtlObjectsToolD3PDSgTop.cxx:382
 AtlObjectsToolD3PDSgTop.cxx:383
 AtlObjectsToolD3PDSgTop.cxx:384
 AtlObjectsToolD3PDSgTop.cxx:385
 AtlObjectsToolD3PDSgTop.cxx:386
 AtlObjectsToolD3PDSgTop.cxx:387
 AtlObjectsToolD3PDSgTop.cxx:388
 AtlObjectsToolD3PDSgTop.cxx:389
 AtlObjectsToolD3PDSgTop.cxx:390
 AtlObjectsToolD3PDSgTop.cxx:391
 AtlObjectsToolD3PDSgTop.cxx:392
 AtlObjectsToolD3PDSgTop.cxx:393
 AtlObjectsToolD3PDSgTop.cxx:394
 AtlObjectsToolD3PDSgTop.cxx:395
 AtlObjectsToolD3PDSgTop.cxx:396
 AtlObjectsToolD3PDSgTop.cxx:397
 AtlObjectsToolD3PDSgTop.cxx:398
 AtlObjectsToolD3PDSgTop.cxx:399
 AtlObjectsToolD3PDSgTop.cxx:400
 AtlObjectsToolD3PDSgTop.cxx:401
 AtlObjectsToolD3PDSgTop.cxx:402
 AtlObjectsToolD3PDSgTop.cxx:403
 AtlObjectsToolD3PDSgTop.cxx:404
 AtlObjectsToolD3PDSgTop.cxx:405
 AtlObjectsToolD3PDSgTop.cxx:406
 AtlObjectsToolD3PDSgTop.cxx:407
 AtlObjectsToolD3PDSgTop.cxx:408
 AtlObjectsToolD3PDSgTop.cxx:409
 AtlObjectsToolD3PDSgTop.cxx:410
 AtlObjectsToolD3PDSgTop.cxx:411
 AtlObjectsToolD3PDSgTop.cxx:412
 AtlObjectsToolD3PDSgTop.cxx:413
 AtlObjectsToolD3PDSgTop.cxx:414
 AtlObjectsToolD3PDSgTop.cxx:415
 AtlObjectsToolD3PDSgTop.cxx:416
 AtlObjectsToolD3PDSgTop.cxx:417
 AtlObjectsToolD3PDSgTop.cxx:418
 AtlObjectsToolD3PDSgTop.cxx:419
 AtlObjectsToolD3PDSgTop.cxx:420
 AtlObjectsToolD3PDSgTop.cxx:421
 AtlObjectsToolD3PDSgTop.cxx:422
 AtlObjectsToolD3PDSgTop.cxx:423
 AtlObjectsToolD3PDSgTop.cxx:424
 AtlObjectsToolD3PDSgTop.cxx:425
 AtlObjectsToolD3PDSgTop.cxx:426
 AtlObjectsToolD3PDSgTop.cxx:427
 AtlObjectsToolD3PDSgTop.cxx:428
 AtlObjectsToolD3PDSgTop.cxx:429
 AtlObjectsToolD3PDSgTop.cxx:430
 AtlObjectsToolD3PDSgTop.cxx:431
 AtlObjectsToolD3PDSgTop.cxx:432
 AtlObjectsToolD3PDSgTop.cxx:433
 AtlObjectsToolD3PDSgTop.cxx:434
 AtlObjectsToolD3PDSgTop.cxx:435
 AtlObjectsToolD3PDSgTop.cxx:436
 AtlObjectsToolD3PDSgTop.cxx:437
 AtlObjectsToolD3PDSgTop.cxx:438
 AtlObjectsToolD3PDSgTop.cxx:439
 AtlObjectsToolD3PDSgTop.cxx:440
 AtlObjectsToolD3PDSgTop.cxx:441
 AtlObjectsToolD3PDSgTop.cxx:442
 AtlObjectsToolD3PDSgTop.cxx:443
 AtlObjectsToolD3PDSgTop.cxx:444
 AtlObjectsToolD3PDSgTop.cxx:445
 AtlObjectsToolD3PDSgTop.cxx:446
 AtlObjectsToolD3PDSgTop.cxx:447
 AtlObjectsToolD3PDSgTop.cxx:448
 AtlObjectsToolD3PDSgTop.cxx:449
 AtlObjectsToolD3PDSgTop.cxx:450
 AtlObjectsToolD3PDSgTop.cxx:451
 AtlObjectsToolD3PDSgTop.cxx:452
 AtlObjectsToolD3PDSgTop.cxx:453
 AtlObjectsToolD3PDSgTop.cxx:454
 AtlObjectsToolD3PDSgTop.cxx:455
 AtlObjectsToolD3PDSgTop.cxx:456
 AtlObjectsToolD3PDSgTop.cxx:457
 AtlObjectsToolD3PDSgTop.cxx:458
 AtlObjectsToolD3PDSgTop.cxx:459
 AtlObjectsToolD3PDSgTop.cxx:460
 AtlObjectsToolD3PDSgTop.cxx:461
 AtlObjectsToolD3PDSgTop.cxx:462
 AtlObjectsToolD3PDSgTop.cxx:463
 AtlObjectsToolD3PDSgTop.cxx:464
 AtlObjectsToolD3PDSgTop.cxx:465
 AtlObjectsToolD3PDSgTop.cxx:466
 AtlObjectsToolD3PDSgTop.cxx:467
 AtlObjectsToolD3PDSgTop.cxx:468
 AtlObjectsToolD3PDSgTop.cxx:469
 AtlObjectsToolD3PDSgTop.cxx:470
 AtlObjectsToolD3PDSgTop.cxx:471
 AtlObjectsToolD3PDSgTop.cxx:472
 AtlObjectsToolD3PDSgTop.cxx:473
 AtlObjectsToolD3PDSgTop.cxx:474
 AtlObjectsToolD3PDSgTop.cxx:475
 AtlObjectsToolD3PDSgTop.cxx:476
 AtlObjectsToolD3PDSgTop.cxx:477
 AtlObjectsToolD3PDSgTop.cxx:478
 AtlObjectsToolD3PDSgTop.cxx:479
 AtlObjectsToolD3PDSgTop.cxx:480
 AtlObjectsToolD3PDSgTop.cxx:481
 AtlObjectsToolD3PDSgTop.cxx:482
 AtlObjectsToolD3PDSgTop.cxx:483
 AtlObjectsToolD3PDSgTop.cxx:484
 AtlObjectsToolD3PDSgTop.cxx:485
 AtlObjectsToolD3PDSgTop.cxx:486
 AtlObjectsToolD3PDSgTop.cxx:487
 AtlObjectsToolD3PDSgTop.cxx:488
 AtlObjectsToolD3PDSgTop.cxx:489
 AtlObjectsToolD3PDSgTop.cxx:490
 AtlObjectsToolD3PDSgTop.cxx:491
 AtlObjectsToolD3PDSgTop.cxx:492
 AtlObjectsToolD3PDSgTop.cxx:493
 AtlObjectsToolD3PDSgTop.cxx:494
 AtlObjectsToolD3PDSgTop.cxx:495
 AtlObjectsToolD3PDSgTop.cxx:496
 AtlObjectsToolD3PDSgTop.cxx:497
 AtlObjectsToolD3PDSgTop.cxx:498
 AtlObjectsToolD3PDSgTop.cxx:499
 AtlObjectsToolD3PDSgTop.cxx:500
 AtlObjectsToolD3PDSgTop.cxx:501
 AtlObjectsToolD3PDSgTop.cxx:502
 AtlObjectsToolD3PDSgTop.cxx:503
 AtlObjectsToolD3PDSgTop.cxx:504
 AtlObjectsToolD3PDSgTop.cxx:505
 AtlObjectsToolD3PDSgTop.cxx:506
 AtlObjectsToolD3PDSgTop.cxx:507
 AtlObjectsToolD3PDSgTop.cxx:508
 AtlObjectsToolD3PDSgTop.cxx:509
 AtlObjectsToolD3PDSgTop.cxx:510
 AtlObjectsToolD3PDSgTop.cxx:511
 AtlObjectsToolD3PDSgTop.cxx:512
 AtlObjectsToolD3PDSgTop.cxx:513
 AtlObjectsToolD3PDSgTop.cxx:514
 AtlObjectsToolD3PDSgTop.cxx:515
 AtlObjectsToolD3PDSgTop.cxx:516
 AtlObjectsToolD3PDSgTop.cxx:517
 AtlObjectsToolD3PDSgTop.cxx:518
 AtlObjectsToolD3PDSgTop.cxx:519
 AtlObjectsToolD3PDSgTop.cxx:520
 AtlObjectsToolD3PDSgTop.cxx:521
 AtlObjectsToolD3PDSgTop.cxx:522
 AtlObjectsToolD3PDSgTop.cxx:523
 AtlObjectsToolD3PDSgTop.cxx:524
 AtlObjectsToolD3PDSgTop.cxx:525
 AtlObjectsToolD3PDSgTop.cxx:526
 AtlObjectsToolD3PDSgTop.cxx:527
 AtlObjectsToolD3PDSgTop.cxx:528
 AtlObjectsToolD3PDSgTop.cxx:529
 AtlObjectsToolD3PDSgTop.cxx:530
 AtlObjectsToolD3PDSgTop.cxx:531
 AtlObjectsToolD3PDSgTop.cxx:532
 AtlObjectsToolD3PDSgTop.cxx:533
 AtlObjectsToolD3PDSgTop.cxx:534
 AtlObjectsToolD3PDSgTop.cxx:535
 AtlObjectsToolD3PDSgTop.cxx:536
 AtlObjectsToolD3PDSgTop.cxx:537