#ifndef SINGLETOP_AtlSgTopFCNC_tZ_Base
#define SINGLETOP_AtlSgTopFCNC_tZ_Base
#ifndef ATLAS_AtlSelector
#include <AtlSelector.h>
#endif
#ifndef ATLAS_AtlObjectsToolD3PDSgTop
#include <AtlObjectsToolD3PDSgTop.h>
#endif
#ifndef ATLAS_AtlObjRecoScaleFactorTool
#include <AtlObjRecoScaleFactorTool.h>
#endif
#ifndef ATLAS_AtlHistogramTool
#include <AtlHistogramTool.h>
#endif
#ifndef ATLAS_AtlMCTruthClassifier
#include <AtlMCTruthClassifier.h>
#endif
#ifndef ROOT_TPie
#include <TPie.h>
#endif
class AtlSgTopFCNC_tZ_Base : public AtlSelector {
public:
enum EChgComb { kChgOpposite, kChgSame, kChgAny };
public:
Int_t fNLeptons_min;
Int_t fNLeptons_max;
Int_t fNBTags_min;
Int_t fNBTags_max;
Double_t fPt_Lep1_min;
Double_t fPt_Lep2_min;
Double_t fPt_Lep3_min;
Double_t fMET_min;
Double_t fMET_max;
Double_t fMtW_min;
Double_t fMtW_max;
Double_t fMassZ_min;
Double_t fMassZ_max;
Double_t fMassTop_min;
Double_t fMassTop_max;
Bool_t fReconstructTop;
Bool_t fRequireZ;
Bool_t fRequireTop;
Bool_t fVetoZboson;
Bool_t fVetoTop;
protected:
TList *fLeptons;
TList *fElectrons;
TList *fMuons;
TList *fJets;
TList *fBJets;
Double_t fMET;
Double_t fMtW;
Double_t fDileptonM;
AtlObjectsToolD3PDSgTop *fObjTool;
AtlObjRecoScaleFactorTool *fSFTool;
AtlHistogramTool *fHistsNoCuts;
AtlHistogramTool *fHistsPreSel;
AtlHistogramTool *fHistsPreTag;
AtlHistogramTool *fHistsAllCuts;
Bool_t fReconstructedZ;
public:
AtlSgTopFCNC_tZ_Base(const char* OutputFileName);
virtual ~AtlSgTopFCNC_tZ_Base();
virtual void Begin(TTree * tree);
virtual void SlaveBegin(TTree * tree);
virtual void Terminate();
virtual void Print(Option_t * option) const;
virtual void SetCutDefaults();
virtual void SetBranchStatus();
virtual void Clear(Option_t * option = "");
virtual Bool_t ProcessCut() = 0;
virtual void BookHistograms();
virtual void FillHistograms() {;}
virtual void BookHistogramsCommon(AtlHistogramTool *htool);
virtual void BookHistogramsLeptons(AtlHistogramTool *htool);
virtual void BookHistogramsJets(AtlHistogramTool *htool);
virtual void BookHistogramsMET(AtlHistogramTool *htool);
virtual void FillHistogramsCommon(AtlHistogramTool *htool,
Double_t w);
virtual void FillHistogramsLeptons(AtlHistogramTool *htool,
Double_t w);
virtual void FillHistogramsJets(AtlHistogramTool *htool,
Double_t w);
virtual void FillHistogramsMET(AtlHistogramTool *htool,
Double_t w);
void ComputeDecayAngleE(HepParticle *mother, HepParticle *daughter,
Double_t &DecayAngle, Double_t &E);
inline HepZ0Decay* GetZ0DecayBest() const {
return (HepZ0Decay*)fEvent->GetZ0Decays()
->At(fEvent->GetN_Z0Decays()-1);
}
protected:
virtual void InitEvent();
void ReconstructZ0Decays();
virtual void BookHistogramsZ0(AtlHistogramTool *htool, const char* path);
virtual void BookHistogramsZ0Subdir(AtlHistogramTool *htool, const char* path);
virtual void FillHistogramsZ0(AtlHistogramTool *htool, Double_t w,
const char* path, HepZ0Decay *Z0cand);
virtual void FillHistogramsZ0Subdir(AtlHistogramTool *htool, Double_t w,
const char* path, const char* subdir,
HepZ0Decay *Z0cand);
virtual void CreatePieCharts();
TPie* CreateParticleOriginPie(const char *HistName, Int_t MaxSlices = 5);
void SetParticleOriginHistBinLabels(TH1D *h);
ClassDef(AtlSgTopFCNC_tZ_Base,0)
};
#endif
AtlSgTopFCNC_tZ_Base.h:10 AtlSgTopFCNC_tZ_Base.h:11 AtlSgTopFCNC_tZ_Base.h:12 AtlSgTopFCNC_tZ_Base.h:13 AtlSgTopFCNC_tZ_Base.h:14 AtlSgTopFCNC_tZ_Base.h:15 AtlSgTopFCNC_tZ_Base.h:16 AtlSgTopFCNC_tZ_Base.h:17 AtlSgTopFCNC_tZ_Base.h:18 AtlSgTopFCNC_tZ_Base.h:19 AtlSgTopFCNC_tZ_Base.h:20 AtlSgTopFCNC_tZ_Base.h:21 AtlSgTopFCNC_tZ_Base.h:22 AtlSgTopFCNC_tZ_Base.h:23 AtlSgTopFCNC_tZ_Base.h:24 AtlSgTopFCNC_tZ_Base.h:25 AtlSgTopFCNC_tZ_Base.h:26 AtlSgTopFCNC_tZ_Base.h:27 AtlSgTopFCNC_tZ_Base.h:28 AtlSgTopFCNC_tZ_Base.h:29 AtlSgTopFCNC_tZ_Base.h:30 AtlSgTopFCNC_tZ_Base.h:31 AtlSgTopFCNC_tZ_Base.h:32 AtlSgTopFCNC_tZ_Base.h:33 AtlSgTopFCNC_tZ_Base.h:34 AtlSgTopFCNC_tZ_Base.h:35 AtlSgTopFCNC_tZ_Base.h:36 AtlSgTopFCNC_tZ_Base.h:37 AtlSgTopFCNC_tZ_Base.h:38 AtlSgTopFCNC_tZ_Base.h:39 AtlSgTopFCNC_tZ_Base.h:40 AtlSgTopFCNC_tZ_Base.h:41 AtlSgTopFCNC_tZ_Base.h:42 AtlSgTopFCNC_tZ_Base.h:43 AtlSgTopFCNC_tZ_Base.h:44 AtlSgTopFCNC_tZ_Base.h:45 AtlSgTopFCNC_tZ_Base.h:46 AtlSgTopFCNC_tZ_Base.h:47 AtlSgTopFCNC_tZ_Base.h:48 AtlSgTopFCNC_tZ_Base.h:49 AtlSgTopFCNC_tZ_Base.h:50 AtlSgTopFCNC_tZ_Base.h:51 AtlSgTopFCNC_tZ_Base.h:52 AtlSgTopFCNC_tZ_Base.h:53 AtlSgTopFCNC_tZ_Base.h:54 AtlSgTopFCNC_tZ_Base.h:55 AtlSgTopFCNC_tZ_Base.h:56 AtlSgTopFCNC_tZ_Base.h:57 AtlSgTopFCNC_tZ_Base.h:58 AtlSgTopFCNC_tZ_Base.h:59 AtlSgTopFCNC_tZ_Base.h:60 AtlSgTopFCNC_tZ_Base.h:61 AtlSgTopFCNC_tZ_Base.h:62 AtlSgTopFCNC_tZ_Base.h:63 AtlSgTopFCNC_tZ_Base.h:64 AtlSgTopFCNC_tZ_Base.h:65 AtlSgTopFCNC_tZ_Base.h:66 AtlSgTopFCNC_tZ_Base.h:67 AtlSgTopFCNC_tZ_Base.h:68 AtlSgTopFCNC_tZ_Base.h:69 AtlSgTopFCNC_tZ_Base.h:70 AtlSgTopFCNC_tZ_Base.h:71 AtlSgTopFCNC_tZ_Base.h:72 AtlSgTopFCNC_tZ_Base.h:73 AtlSgTopFCNC_tZ_Base.h:74 AtlSgTopFCNC_tZ_Base.h:75 AtlSgTopFCNC_tZ_Base.h:76 AtlSgTopFCNC_tZ_Base.h:77 AtlSgTopFCNC_tZ_Base.h:78 AtlSgTopFCNC_tZ_Base.h:79 AtlSgTopFCNC_tZ_Base.h:80 AtlSgTopFCNC_tZ_Base.h:81 AtlSgTopFCNC_tZ_Base.h:82 AtlSgTopFCNC_tZ_Base.h:83 AtlSgTopFCNC_tZ_Base.h:84 AtlSgTopFCNC_tZ_Base.h:85 AtlSgTopFCNC_tZ_Base.h:86 AtlSgTopFCNC_tZ_Base.h:87 AtlSgTopFCNC_tZ_Base.h:88 AtlSgTopFCNC_tZ_Base.h:89 AtlSgTopFCNC_tZ_Base.h:90 AtlSgTopFCNC_tZ_Base.h:91 AtlSgTopFCNC_tZ_Base.h:92 AtlSgTopFCNC_tZ_Base.h:93 AtlSgTopFCNC_tZ_Base.h:94 AtlSgTopFCNC_tZ_Base.h:95 AtlSgTopFCNC_tZ_Base.h:96 AtlSgTopFCNC_tZ_Base.h:97 AtlSgTopFCNC_tZ_Base.h:98 AtlSgTopFCNC_tZ_Base.h:99 AtlSgTopFCNC_tZ_Base.h:100 AtlSgTopFCNC_tZ_Base.h:101 AtlSgTopFCNC_tZ_Base.h:102 AtlSgTopFCNC_tZ_Base.h:103 AtlSgTopFCNC_tZ_Base.h:104 AtlSgTopFCNC_tZ_Base.h:105 AtlSgTopFCNC_tZ_Base.h:106 AtlSgTopFCNC_tZ_Base.h:107 AtlSgTopFCNC_tZ_Base.h:108 AtlSgTopFCNC_tZ_Base.h:109 AtlSgTopFCNC_tZ_Base.h:110 AtlSgTopFCNC_tZ_Base.h:111 AtlSgTopFCNC_tZ_Base.h:112 AtlSgTopFCNC_tZ_Base.h:113 AtlSgTopFCNC_tZ_Base.h:114 AtlSgTopFCNC_tZ_Base.h:115 AtlSgTopFCNC_tZ_Base.h:116 AtlSgTopFCNC_tZ_Base.h:117 AtlSgTopFCNC_tZ_Base.h:118 AtlSgTopFCNC_tZ_Base.h:119 AtlSgTopFCNC_tZ_Base.h:120 AtlSgTopFCNC_tZ_Base.h:121 AtlSgTopFCNC_tZ_Base.h:122 AtlSgTopFCNC_tZ_Base.h:123 AtlSgTopFCNC_tZ_Base.h:124 AtlSgTopFCNC_tZ_Base.h:125 AtlSgTopFCNC_tZ_Base.h:126 AtlSgTopFCNC_tZ_Base.h:127 AtlSgTopFCNC_tZ_Base.h:128 AtlSgTopFCNC_tZ_Base.h:129 AtlSgTopFCNC_tZ_Base.h:130 AtlSgTopFCNC_tZ_Base.h:131