//  
// Author: Soeren Stamm <mailto: stamm@physik.hu-berlin.de>
// Update: $Id: AtlSgTop_sChannelAnalysis.h,v 1.19 2017/07/25 21:34:07 kaphle Exp $
// Copyright: 2013 (C) Soeren Stamm
//
#ifndef SINGLETOP_AtlSgTop_sChannelAnalysis
#define SINGLETOP_AtlSgTop_sChannelAnalysis
#ifndef ATLAS_AtlSelector
#include <AtlSelector.h>
#endif
#ifndef ATLAS_AtlObjectsToolD3PDSgTop
#include <AtlObjectsToolD3PDSgTop.h>
#endif
#ifndef ATLAS_AtlObjRecoScaleFactorTool
#include <AtlObjRecoScaleFactorTool.h>
#endif
#ifndef ATLAS_AtlCutFlowTool
#include <AtlCutFlowTool.h>
#endif
#ifndef ATLAS_AtlPdfReweightingTool
#include <AtlPdfReweightingTool.h>
#endif
#ifndef ATLAS_HistogramTool
#include <AtlHistogramTool.h>
#endif

class HepTopDecay;
class AtlWDecayLNu;
class TH2F;

class AtlSgTop_sChannelAnalysis : public AtlSelector {
    
  public:
    enum ETtbarDecayMode {
	kElEl = 1,
	kMuMu,
	kTauTau,
	kElMu,
	kElTau,
	kMuTau,
	kElQQ,
	kMuQQ,
	kTauQQ,
	kHadronic,
	kUnknown };       
    ETtbarDecayMode fTtbarDecayMode; // Top Quark decay products (MC truth, ttbar only)
    
    Float_t fMET_min;              // Minimum missing Et (GeV)
    Float_t fMET_max;              // Maximum missing Et (GeV)
    Float_t fMtW_minPre;           // Transverse W mass minimum (GeV), event pre-selection
    Float_t fMtW_maxPre;           // Transverse W mass maximum (GeV), event pre-selection
    Float_t fMtW_min;              // Transverse W mass minimum (GeV), final event selection
    Float_t fMtW_max;              // Transverse W mass maximum (GeV), final event selection
    Float_t fPt_Jet_min;           // Additional minimum Pt cut for all jets (GeV)
    Float_t fPt_Jet_max;           // Additional maximum Pt cut for all jets (GeV
    Float_t fPt_LeadingJet_min;    // Additional minimum Pt cut for the leading jet (GeV)
    Float_t fPt_LeadingJet_max;    // Additional maximum Pt cut for the leading jet (GeV)
    Int_t   fNBTags_min;           // Minimum no. of b-tagged jets
    Int_t   fNBTags_max;           // Maximum no. of b-tagged jets
    Bool_t  fLeadingJetIsBTagged;  // Require the leading jet to be b-tagged
    Float_t fPt_BJetTop_min;       // Minimium Pt of b-jet from top decay
    AtlBTag::ETagger fVetoBTagger; // B-tagger used for b-tag veto (ctrl region)
    Float_t fVetoBTagWeight_min;   // Minimum weight for b-tag veto (ctrl region); use 0.5 in case of run-2 data if the veto should be used (for run-2 no tag weights are stored - only boolean numbers
    Bool_t  fAdditionalJetVeto;    // Remove events with additional jets outside the given pt-eta range
    Bool_t  fDoReconstructTop;     // Reconstruct the neutrino, the W-boson and the top-quark in the old-fashioned way and compute the 16 LPSC BDT variables (default=off). !!! Note that the neutrino reconstruction might fail in a very few cases leading to a slight loss of events !!!
    Bool_t  fApplyDileptonVeto;    // Apply dilepton veto?
    Bool_t  fApplyTtbar4JetVeto;   // Apply ttbar 4 jet veto?
    
    Bool_t fMCTruthStudy;          // Flag for filling mc truth info for dilepton study
    HepMCParticle *fMCbQuark;
    HepMCParticle *fMCAntibQuark;
    HepMCParticle *fMCLeptonPlus ;
    HepMCParticle *fMCLeptonMinus;
    HepMCParticle *fMCTightLepton;
    HepMCParticle *fMCLooseLepton;
    
  private:
    HepParticle *fLepton;       // The leading lepton
    TList       *fLeptons;      // List of selected leptons
    TList       *fLooseLeptons; // List of selected loose leptons
    TList       *fElectrons;    // List of selected electron objects
    TList       *fMuons;        // List of selected muon objects
    TList       *fLooseTaus;    // List of selected loose taus
    TList       *fJets;         // List of selected jets
    TList       *fBJets;        // List of selected b-jets

    // QCD Tool
    Bool_t    fQCDMMToolIsOn;  // Flag for QCD Matrix Method tasks

    // BDT variables
    Float_t   fMET;                        // MissingEt of current event
    Float_t   fMtW;                        // Transverse W mass (GeV)
    Float_t   fPtLep;                      // Transverse momentum (GeV) of leading lepton
    Float_t   fDeltaPhiTopBJet2_BJet1;     // Delta phi between top-quark candidate reconstructed using the sub-leading b-jet and the leading b-jet
    Float_t   fDeltaPhiTopBJet1_BJet2;     // Delta phi between top-quark candidate reconstructed using the leading b-jet and the sub-leading b-jet
    Float_t   fSumEtLep_MET;               // Sum Et of lepton and MET
    Float_t   fSumEtLep_MET_BJets;         // Sum Et of lepton, MET and all b-jets
    Float_t   fSumPt;                      // Vectoriell Pt sum of the lepton, MET and all b-jets
    Float_t   fDeltaEtaLep_BJet1;          // Delta eta between the lepton and the leading b-jet
    Float_t   fDeltaEtaLep_BJet2;          // Delta eta between the lepton and the sub-leading b-jet
    Float_t   fDeltaEtaTopBJet2_BJet1;     // Delta eta between top decay reconstructed using the sub-leading b-jet and the leading b-jet
    Float_t   fDeltaPhiBJet1_BJet2;        // Delta phi between leading and sub-leading b-jet
    Float_t   fDeltaPhiLep_MET;            // Delta phi between lepton and MET
    Float_t   fCosLepW_WTopBJet1;          // Cos of angle between lepton momentum in W rest-frame and the W momentum in the rest-frame of the top-quark candidate with the leading b-jet
    Float_t   fCosLepTopBJet1_TopBJet1CMS; // Cos of angle between the lepton momentum in the top-quark rest-frame and the top-quark momentum in the c.m.s. The used top-quark is the candidate reconstructed using the leading b-jet. The c.m.s vector is the sum of the top momentum and the sub-leading b-jet momentum
    Float_t   fCosLepTopBJet2_TopBJet2CMS; // Cos of angle between the lepton momentum in the top-quark rest-frame and the top-quark momentum in the c.m.s. The used top-quark is the candidate reconstructed using the sub-leading b-jet. The c.m.s vector is the sum of the top momentum and the leading b-jet momentum
    Float_t   fPt_BJetTop;                 // Pt of b-jet from best recosntructed top decay (GeV)
    Float_t   fDeltaEtaNu_BJetNonTop;      // Delta eta between the rec. neutrino and the b-jet from the non-top candidate
    Float_t   fSumPtBJet1_BJet2;           // Vectoriell Pt sum of the leading and the sub-leading b-jet (GeV)
    Float_t   fCosMET_BJet2;               // Cos of angle between MET and sub-leading b-jet
    Float_t   fMLep_BJet2;                 // Invariant mass of lepton and sub-leading b-jet (GeV)
    
    // Pointer to tools in event loop
    AtlObjectsToolD3PDSgTop   *fObjTool;
    AtlObjRecoScaleFactorTool *fSFTool;
    AtlCutFlowTool            *fCutFlowTool;
    AtlPdfReweightingTool     *fPdfTool;
    AtlHistogramTool          *fHistsPretag;   
    AtlHistogramTool          *fHistsBTag;   
    AtlHistogramTool          *fHistsBTagElectron;   
    AtlHistogramTool          *fHistsBTagMuon;   

    // Histograms (BDT input)
    TH1F *fHist_BDT_MET;
    TH1F *fHist_BDT_MtW;
    TH1F *fHist_BDT_Lep_Pt;
    TH1F *fHist_BDT_SumEtLep_MET;
    TH1F *fHist_BDT_SumEtLep_MET_BJets;
    TH1F *fHist_BDT_SumPt;
    TH1F *fHist_BDT_DeltaPhiTopBJet2_BJet1;
    TH1F *fHist_BDT_DeltaPhiTopBJet1_BJet2;
    TH1F *fHist_BDT_DeltaEtaLep_BJet1;
    TH1F *fHist_BDT_DeltaEtaLep_BJet2;
    TH1F *fHist_BDT_DeltaEtaTopBJet2_BJet1;
    TH1F *fHist_BDT_DeltaPhiBJet1_BJet2;
    TH1F *fHist_BDT_DeltaPhiLep_MET;
    TH1F *fHist_BDT_CosLepW_WTopBJet1; 
    TH1F *fHist_BDT_CosLepTopBJet1_TopBJet1CMS; 
    TH1F *fHist_BDT_CosLepTopBJet2_TopBJet2CMS;
    TH1F *fHist_BDT_PtBJet_Top;
    TH1F *fHist_BDT_DeltaEtaNu_BJetNonTop;
    TH1F *fHist_BDT_SumPtBJet1_BJet2;
    TH1F *fHist_BDT_CosMET_BJet2;
    TH1F *fHist_BDT_MLep_BJet2;

    // Histograms (mc truth study)
    // ============================
    TH1F *fHist_mc_DecayChannels;
    TH1F *fHist_mc_DecayChannels_Veto;
    TH1F *fHist_mc_DecayChannels_TauVeto;
    TH1F *fHist_mc_DecayChannels_AllVeto;
    TH2F *fHist_mc_TriggerMatch;
    TH1F *fHist_mc_jet_truth_label;
    TH2F *fHist_mc_MET;
    TH2F *fHist_mc_MET_nonVeto;
    TH2F *fHist_mc_RecoEff;
    TH2F *fHist_mc_DeltaR_tight_lepton;
    TH2F *fHist_mc_DeltaR_loose_lepton;
    
    // Dilepton kinematics
    TH2F *fHist_mc_DeltaR_LeadLepton_bQuarkOS;
    TH2F *fHist_mc_DeltaR_LeadLepton_bQuarkSS;
    TH2F *fHist_mc_DeltaR_2ndLeadLepton_bQuarkOS;
    TH2F *fHist_mc_DeltaR_2ndLeadLepton_bQuarkSS;
    TH2F *fHist_mc_DeltaR_LeadLepton_2ndLeadLepton;
    TH2F *fHist_mc_truth_LeadLepton_Pt;
    TH2F *fHist_mc_truth_2ndLeadLepton_Pt;
    TH2F *fHist_mc_truth_2ndLeadLepton_Pt_matched;
    TH2F *fHist_mc_truth_2ndLeadLepton_Pt_unmatched;
    TH2F *fHist_mc_reco_LeadLepton_Pt;
    TH2F *fHist_mc_reco_2ndLeadLepton_Pt;
    TH2F *fHist_mc_reco_LeadLepton_Pt_res;
    TH2F *fHist_mc_reco_2ndLeadLepton_Pt_res;
    TH2F *fHist_mc_DeltaR_unmatchedMCLepton_truthjet;
    TH2F *fHist_mc_unmatchedMCLepton_truthjet_pt;
    
public:
    AtlSgTop_sChannelAnalysis(const char* OutputFilename);
    virtual ~AtlSgTop_sChannelAnalysis();
    
    virtual void SetBranchStatus();
    virtual void Clear( Option_t *option = "");
    virtual void Begin(TTree *tree);
    virtual void BookHistograms();
    virtual void FillHistograms();
    virtual Bool_t ProcessPreCut();
    virtual Bool_t DiLeptonVeto();
    virtual Bool_t ProcessCut();
    virtual void SetCutDefaults();
    virtual void Print(Option_t *option) const;
    virtual void Terminate();
    
    inline AtlJet* GetBJet1st() const {
	//
	// Get leading b-jet.
	//
	return (AtlJet*)fBJets->At(0);
    }
    inline AtlJet* GetBJet2nd() const {
	//
	// Get second leading b-jet.
	//
	return (AtlJet*)fBJets->At(1);
    }
    inline HepTopDecay* GetTopDecayBest() const {
	//
	// Get best top decay candidate (invariant mass closest to
	// pole-mass.
	//
	return (HepTopDecay*)fEvent->GetTopDecays()
	    ->At(fEvent->GetN_TopDecays()-1);
    }
    inline HepTopDecay* GetTopDecay2ndBest() const {
	//
	// Get 2nd best top decay candidate.
	//
	return (HepTopDecay*)fEvent->GetTopDecays()
	    ->At(fEvent->GetN_TopDecays()-2);
    }
    inline HepTopDecay* GetTopDecayWith1stBJet() const {
	//
	// Get top decay candidate with leading b-jet.
	//
	HepTopDecay *top = 0;
	for ( Int_t i = 0; i < fEvent->GetN_TopDecays(); i++ ) {
	    top = (HepTopDecay*)fEvent->GetTopDecays()->At(i);
	    if ( top->GetBJetOrig() == GetBJet1st() )
		return top;
	}
	return 0;
    }
    inline HepTopDecay* GetTopDecayWith2ndBJet() const {
	//
	// Get top decay candidate with next-leading b-jet.
	//
	HepTopDecay *top = 0;
	for ( Int_t i = 0; i < fEvent->GetN_TopDecays(); i++ ) {
	    top = (HepTopDecay*)fEvent->GetTopDecays()->At(i);
	    if ( top->GetBJetOrig() == GetBJet2nd() )
		return top;
	}
	return 0;
    }
    
  protected:
    void BookHistogramsPretag(AtlHistogramTool *htool);
    void BookHistogramsPreSel(AtlHistogramTool *htool);
    void BookHistogramsSel(AtlHistogramTool *htool);
    void BookHistogramsBDT();
    void BookHistogramsMCTruthStudy();
    void FillHistogramsPretag(AtlHistogramTool *htool, Double_t W);
    void FillHistogramsPreSel(AtlHistogramTool *htool, Double_t W);
    void FillHistogramsSel(AtlHistogramTool *htool, Double_t W);
    void FillHistogramsBDT();
    void FillHistogramsMCTruthStudy();
    void FillHistogramsLeptons(AtlHistogramTool *htool, Double_t W);
    void FillHistogramsElectrons( AtlHistogramTool *htool, Double_t W);
    void FillHistogramsMuons( AtlHistogramTool *htool, Double_t W);
    void InitEvent();

  private:
    Bool_t ReconstructNeutrino();
    void ReconstructWDecay();
    void ReconstructTopDecays();
    void ComputeBDTVariables();
    void SetBDTVariables();
    void DoTruthMatching();
    
    ClassDef(AtlSgTop_sChannelAnalysis,0) // Single-top 8 TeV s-Channel analysis
};
#endif
 AtlSgTop_sChannelAnalysis.h:1
 AtlSgTop_sChannelAnalysis.h:2
 AtlSgTop_sChannelAnalysis.h:3
 AtlSgTop_sChannelAnalysis.h:4
 AtlSgTop_sChannelAnalysis.h:5
 AtlSgTop_sChannelAnalysis.h:6
 AtlSgTop_sChannelAnalysis.h:7
 AtlSgTop_sChannelAnalysis.h:8
 AtlSgTop_sChannelAnalysis.h:9
 AtlSgTop_sChannelAnalysis.h:10
 AtlSgTop_sChannelAnalysis.h:11
 AtlSgTop_sChannelAnalysis.h:12
 AtlSgTop_sChannelAnalysis.h:13
 AtlSgTop_sChannelAnalysis.h:14
 AtlSgTop_sChannelAnalysis.h:15
 AtlSgTop_sChannelAnalysis.h:16
 AtlSgTop_sChannelAnalysis.h:17
 AtlSgTop_sChannelAnalysis.h:18
 AtlSgTop_sChannelAnalysis.h:19
 AtlSgTop_sChannelAnalysis.h:20
 AtlSgTop_sChannelAnalysis.h:21
 AtlSgTop_sChannelAnalysis.h:22
 AtlSgTop_sChannelAnalysis.h:23
 AtlSgTop_sChannelAnalysis.h:24
 AtlSgTop_sChannelAnalysis.h:25
 AtlSgTop_sChannelAnalysis.h:26
 AtlSgTop_sChannelAnalysis.h:27
 AtlSgTop_sChannelAnalysis.h:28
 AtlSgTop_sChannelAnalysis.h:29
 AtlSgTop_sChannelAnalysis.h:30
 AtlSgTop_sChannelAnalysis.h:31
 AtlSgTop_sChannelAnalysis.h:32
 AtlSgTop_sChannelAnalysis.h:33
 AtlSgTop_sChannelAnalysis.h:34
 AtlSgTop_sChannelAnalysis.h:35
 AtlSgTop_sChannelAnalysis.h:36
 AtlSgTop_sChannelAnalysis.h:37
 AtlSgTop_sChannelAnalysis.h:38
 AtlSgTop_sChannelAnalysis.h:39
 AtlSgTop_sChannelAnalysis.h:40
 AtlSgTop_sChannelAnalysis.h:41
 AtlSgTop_sChannelAnalysis.h:42
 AtlSgTop_sChannelAnalysis.h:43
 AtlSgTop_sChannelAnalysis.h:44
 AtlSgTop_sChannelAnalysis.h:45
 AtlSgTop_sChannelAnalysis.h:46
 AtlSgTop_sChannelAnalysis.h:47
 AtlSgTop_sChannelAnalysis.h:48
 AtlSgTop_sChannelAnalysis.h:49
 AtlSgTop_sChannelAnalysis.h:50
 AtlSgTop_sChannelAnalysis.h:51
 AtlSgTop_sChannelAnalysis.h:52
 AtlSgTop_sChannelAnalysis.h:53
 AtlSgTop_sChannelAnalysis.h:54
 AtlSgTop_sChannelAnalysis.h:55
 AtlSgTop_sChannelAnalysis.h:56
 AtlSgTop_sChannelAnalysis.h:57
 AtlSgTop_sChannelAnalysis.h:58
 AtlSgTop_sChannelAnalysis.h:59
 AtlSgTop_sChannelAnalysis.h:60
 AtlSgTop_sChannelAnalysis.h:61
 AtlSgTop_sChannelAnalysis.h:62
 AtlSgTop_sChannelAnalysis.h:63
 AtlSgTop_sChannelAnalysis.h:64
 AtlSgTop_sChannelAnalysis.h:65
 AtlSgTop_sChannelAnalysis.h:66
 AtlSgTop_sChannelAnalysis.h:67
 AtlSgTop_sChannelAnalysis.h:68
 AtlSgTop_sChannelAnalysis.h:69
 AtlSgTop_sChannelAnalysis.h:70
 AtlSgTop_sChannelAnalysis.h:71
 AtlSgTop_sChannelAnalysis.h:72
 AtlSgTop_sChannelAnalysis.h:73
 AtlSgTop_sChannelAnalysis.h:74
 AtlSgTop_sChannelAnalysis.h:75
 AtlSgTop_sChannelAnalysis.h:76
 AtlSgTop_sChannelAnalysis.h:77
 AtlSgTop_sChannelAnalysis.h:78
 AtlSgTop_sChannelAnalysis.h:79
 AtlSgTop_sChannelAnalysis.h:80
 AtlSgTop_sChannelAnalysis.h:81
 AtlSgTop_sChannelAnalysis.h:82
 AtlSgTop_sChannelAnalysis.h:83
 AtlSgTop_sChannelAnalysis.h:84
 AtlSgTop_sChannelAnalysis.h:85
 AtlSgTop_sChannelAnalysis.h:86
 AtlSgTop_sChannelAnalysis.h:87
 AtlSgTop_sChannelAnalysis.h:88
 AtlSgTop_sChannelAnalysis.h:89
 AtlSgTop_sChannelAnalysis.h:90
 AtlSgTop_sChannelAnalysis.h:91
 AtlSgTop_sChannelAnalysis.h:92
 AtlSgTop_sChannelAnalysis.h:93
 AtlSgTop_sChannelAnalysis.h:94
 AtlSgTop_sChannelAnalysis.h:95
 AtlSgTop_sChannelAnalysis.h:96
 AtlSgTop_sChannelAnalysis.h:97
 AtlSgTop_sChannelAnalysis.h:98
 AtlSgTop_sChannelAnalysis.h:99
 AtlSgTop_sChannelAnalysis.h:100
 AtlSgTop_sChannelAnalysis.h:101
 AtlSgTop_sChannelAnalysis.h:102
 AtlSgTop_sChannelAnalysis.h:103
 AtlSgTop_sChannelAnalysis.h:104
 AtlSgTop_sChannelAnalysis.h:105
 AtlSgTop_sChannelAnalysis.h:106
 AtlSgTop_sChannelAnalysis.h:107
 AtlSgTop_sChannelAnalysis.h:108
 AtlSgTop_sChannelAnalysis.h:109
 AtlSgTop_sChannelAnalysis.h:110
 AtlSgTop_sChannelAnalysis.h:111
 AtlSgTop_sChannelAnalysis.h:112
 AtlSgTop_sChannelAnalysis.h:113
 AtlSgTop_sChannelAnalysis.h:114
 AtlSgTop_sChannelAnalysis.h:115
 AtlSgTop_sChannelAnalysis.h:116
 AtlSgTop_sChannelAnalysis.h:117
 AtlSgTop_sChannelAnalysis.h:118
 AtlSgTop_sChannelAnalysis.h:119
 AtlSgTop_sChannelAnalysis.h:120
 AtlSgTop_sChannelAnalysis.h:121
 AtlSgTop_sChannelAnalysis.h:122
 AtlSgTop_sChannelAnalysis.h:123
 AtlSgTop_sChannelAnalysis.h:124
 AtlSgTop_sChannelAnalysis.h:125
 AtlSgTop_sChannelAnalysis.h:126
 AtlSgTop_sChannelAnalysis.h:127
 AtlSgTop_sChannelAnalysis.h:128
 AtlSgTop_sChannelAnalysis.h:129
 AtlSgTop_sChannelAnalysis.h:130
 AtlSgTop_sChannelAnalysis.h:131
 AtlSgTop_sChannelAnalysis.h:132
 AtlSgTop_sChannelAnalysis.h:133
 AtlSgTop_sChannelAnalysis.h:134
 AtlSgTop_sChannelAnalysis.h:135
 AtlSgTop_sChannelAnalysis.h:136
 AtlSgTop_sChannelAnalysis.h:137
 AtlSgTop_sChannelAnalysis.h:138
 AtlSgTop_sChannelAnalysis.h:139
 AtlSgTop_sChannelAnalysis.h:140
 AtlSgTop_sChannelAnalysis.h:141
 AtlSgTop_sChannelAnalysis.h:142
 AtlSgTop_sChannelAnalysis.h:143
 AtlSgTop_sChannelAnalysis.h:144
 AtlSgTop_sChannelAnalysis.h:145
 AtlSgTop_sChannelAnalysis.h:146
 AtlSgTop_sChannelAnalysis.h:147
 AtlSgTop_sChannelAnalysis.h:148
 AtlSgTop_sChannelAnalysis.h:149
 AtlSgTop_sChannelAnalysis.h:150
 AtlSgTop_sChannelAnalysis.h:151
 AtlSgTop_sChannelAnalysis.h:152
 AtlSgTop_sChannelAnalysis.h:153
 AtlSgTop_sChannelAnalysis.h:154
 AtlSgTop_sChannelAnalysis.h:155
 AtlSgTop_sChannelAnalysis.h:156
 AtlSgTop_sChannelAnalysis.h:157
 AtlSgTop_sChannelAnalysis.h:158
 AtlSgTop_sChannelAnalysis.h:159
 AtlSgTop_sChannelAnalysis.h:160
 AtlSgTop_sChannelAnalysis.h:161
 AtlSgTop_sChannelAnalysis.h:162
 AtlSgTop_sChannelAnalysis.h:163
 AtlSgTop_sChannelAnalysis.h:164
 AtlSgTop_sChannelAnalysis.h:165
 AtlSgTop_sChannelAnalysis.h:166
 AtlSgTop_sChannelAnalysis.h:167
 AtlSgTop_sChannelAnalysis.h:168
 AtlSgTop_sChannelAnalysis.h:169
 AtlSgTop_sChannelAnalysis.h:170
 AtlSgTop_sChannelAnalysis.h:171
 AtlSgTop_sChannelAnalysis.h:172
 AtlSgTop_sChannelAnalysis.h:173
 AtlSgTop_sChannelAnalysis.h:174
 AtlSgTop_sChannelAnalysis.h:175
 AtlSgTop_sChannelAnalysis.h:176
 AtlSgTop_sChannelAnalysis.h:177
 AtlSgTop_sChannelAnalysis.h:178
 AtlSgTop_sChannelAnalysis.h:179
 AtlSgTop_sChannelAnalysis.h:180
 AtlSgTop_sChannelAnalysis.h:181
 AtlSgTop_sChannelAnalysis.h:182
 AtlSgTop_sChannelAnalysis.h:183
 AtlSgTop_sChannelAnalysis.h:184
 AtlSgTop_sChannelAnalysis.h:185
 AtlSgTop_sChannelAnalysis.h:186
 AtlSgTop_sChannelAnalysis.h:187
 AtlSgTop_sChannelAnalysis.h:188
 AtlSgTop_sChannelAnalysis.h:189
 AtlSgTop_sChannelAnalysis.h:190
 AtlSgTop_sChannelAnalysis.h:191
 AtlSgTop_sChannelAnalysis.h:192
 AtlSgTop_sChannelAnalysis.h:193
 AtlSgTop_sChannelAnalysis.h:194
 AtlSgTop_sChannelAnalysis.h:195
 AtlSgTop_sChannelAnalysis.h:196
 AtlSgTop_sChannelAnalysis.h:197
 AtlSgTop_sChannelAnalysis.h:198
 AtlSgTop_sChannelAnalysis.h:199
 AtlSgTop_sChannelAnalysis.h:200
 AtlSgTop_sChannelAnalysis.h:201
 AtlSgTop_sChannelAnalysis.h:202
 AtlSgTop_sChannelAnalysis.h:203
 AtlSgTop_sChannelAnalysis.h:204
 AtlSgTop_sChannelAnalysis.h:205
 AtlSgTop_sChannelAnalysis.h:206
 AtlSgTop_sChannelAnalysis.h:207
 AtlSgTop_sChannelAnalysis.h:208
 AtlSgTop_sChannelAnalysis.h:209
 AtlSgTop_sChannelAnalysis.h:210
 AtlSgTop_sChannelAnalysis.h:211
 AtlSgTop_sChannelAnalysis.h:212
 AtlSgTop_sChannelAnalysis.h:213
 AtlSgTop_sChannelAnalysis.h:214
 AtlSgTop_sChannelAnalysis.h:215
 AtlSgTop_sChannelAnalysis.h:216
 AtlSgTop_sChannelAnalysis.h:217
 AtlSgTop_sChannelAnalysis.h:218
 AtlSgTop_sChannelAnalysis.h:219
 AtlSgTop_sChannelAnalysis.h:220
 AtlSgTop_sChannelAnalysis.h:221
 AtlSgTop_sChannelAnalysis.h:222
 AtlSgTop_sChannelAnalysis.h:223
 AtlSgTop_sChannelAnalysis.h:224
 AtlSgTop_sChannelAnalysis.h:225
 AtlSgTop_sChannelAnalysis.h:226
 AtlSgTop_sChannelAnalysis.h:227
 AtlSgTop_sChannelAnalysis.h:228
 AtlSgTop_sChannelAnalysis.h:229
 AtlSgTop_sChannelAnalysis.h:230
 AtlSgTop_sChannelAnalysis.h:231
 AtlSgTop_sChannelAnalysis.h:232
 AtlSgTop_sChannelAnalysis.h:233
 AtlSgTop_sChannelAnalysis.h:234
 AtlSgTop_sChannelAnalysis.h:235
 AtlSgTop_sChannelAnalysis.h:236
 AtlSgTop_sChannelAnalysis.h:237
 AtlSgTop_sChannelAnalysis.h:238
 AtlSgTop_sChannelAnalysis.h:239
 AtlSgTop_sChannelAnalysis.h:240
 AtlSgTop_sChannelAnalysis.h:241
 AtlSgTop_sChannelAnalysis.h:242
 AtlSgTop_sChannelAnalysis.h:243
 AtlSgTop_sChannelAnalysis.h:244
 AtlSgTop_sChannelAnalysis.h:245
 AtlSgTop_sChannelAnalysis.h:246
 AtlSgTop_sChannelAnalysis.h:247
 AtlSgTop_sChannelAnalysis.h:248
 AtlSgTop_sChannelAnalysis.h:249
 AtlSgTop_sChannelAnalysis.h:250
 AtlSgTop_sChannelAnalysis.h:251
 AtlSgTop_sChannelAnalysis.h:252
 AtlSgTop_sChannelAnalysis.h:253
 AtlSgTop_sChannelAnalysis.h:254
 AtlSgTop_sChannelAnalysis.h:255
 AtlSgTop_sChannelAnalysis.h:256
 AtlSgTop_sChannelAnalysis.h:257
 AtlSgTop_sChannelAnalysis.h:258
 AtlSgTop_sChannelAnalysis.h:259
 AtlSgTop_sChannelAnalysis.h:260
 AtlSgTop_sChannelAnalysis.h:261
 AtlSgTop_sChannelAnalysis.h:262
 AtlSgTop_sChannelAnalysis.h:263
 AtlSgTop_sChannelAnalysis.h:264
 AtlSgTop_sChannelAnalysis.h:265
 AtlSgTop_sChannelAnalysis.h:266
 AtlSgTop_sChannelAnalysis.h:267
 AtlSgTop_sChannelAnalysis.h:268
 AtlSgTop_sChannelAnalysis.h:269
 AtlSgTop_sChannelAnalysis.h:270
 AtlSgTop_sChannelAnalysis.h:271