6 |
|
// Authors: J. Bendavid, J. Veverka |
7 |
|
//-------------------------------------------------------------------------------------------------- |
8 |
|
|
9 |
+ |
/** |
10 |
+ |
* TODO |
11 |
+ |
* - Factor out taggers (VHLep, VHHad, ttH) into separate classes |
12 |
+ |
* - Factor out transient diphoton-final-state data (phHard, phSoft, selvtx, ..) |
13 |
+ |
* into a separate class. |
14 |
+ |
*/ |
15 |
+ |
|
16 |
+ |
|
17 |
|
#ifndef MITPHYSICS_MODS_PHOTONTREEWRITER_H |
18 |
|
#define MITPHYSICS_MODS_PHOTONTREEWRITER_H |
19 |
|
|
469 |
|
Float_t btagJet2; |
470 |
|
Float_t btagJet2Pt; |
471 |
|
Float_t btagJet2Eta; |
472 |
< |
// ----------- LEPTON TAG STUFF ------------- |
472 |
> |
// ----------- VH/LEPTON TAG STUFF ------------- |
473 |
|
Int_t leptonTag; // flavor-based, Moriond 2013 |
474 |
|
Int_t VHLepTag; // MET-based, since legacy paper 2013 |
475 |
< |
// ----------- VEERTEX SYNCHING STUFF ------- |
475 |
> |
Int_t VHHadTag; // VH hadronic tag |
476 |
> |
// ----------- VERTEX SYNCHING STUFF ------- |
477 |
|
|
478 |
|
Int_t vtxInd1; |
479 |
|
Int_t vtxInd2; |
716 |
|
void SetPFJetName(const char *n) { fPFJetName = n; } |
717 |
|
void SetGenJetName(const char *n) { fGenJetName = n; } |
718 |
|
void SetuncorrPFJetName(const char *n) { funcorrPFJetName = n; } |
719 |
< |
void SetPFNoPileUpName(const char *n) { fPFNoPileUpName = n; } |
720 |
< |
void SetPFPileUpName(const char *n) { fPFPileUpName = n; } |
719 |
> |
void SetPFNoPileUpName(const char *n) { fPFNoPileUpName = n; } |
720 |
> |
void SetPFPileUpName(const char *n) { fPFPileUpName = n; } |
721 |
|
|
722 |
|
|
723 |
|
void SetPFJetsFromBranch(Bool_t b) { fPFJetsFromBranch = b; } |
724 |
|
void SetEnableJets(Bool_t b) { fEnableJets = b; } |
725 |
< |
void SetEnableGenJets(Bool_t b) { fEnableGenJets = b; } |
725 |
> |
void SetEnableGenJets(Bool_t b) { fEnableGenJets = b; } |
726 |
|
void SetApplyJetId(Bool_t b) { fApplyJetId = b; } |
727 |
|
void SetApplyLeptonTag(Bool_t b) { fApplyLeptonTag = b; } |
728 |
< |
void SetApplyVHLepTag(Bool_t b) { fApplyVHLepTag = b; } |
728 |
> |
void SetApplyVHLepTag(Bool_t b) { fApplyVHLepTag = b; } |
729 |
> |
void SetApplyVHHadTag(Bool_t b) { fApplyVHHadTag = b; } |
730 |
|
void SetApplyVBFTag(Bool_t b) { fApplyVBFTag = b; } |
731 |
|
void SetApplyTTHTag(Bool_t b) { fApplyTTHTag = b; } |
732 |
|
void SetApplyBTag(Bool_t b) { fApplyBTag = b; } |
785 |
|
protected: |
786 |
|
void Process(); |
787 |
|
void SlaveBegin(); |
788 |
< |
void SlaveTerminate(); |
788 |
> |
void SlaveTerminate(); |
789 |
|
void Terminate(); |
790 |
|
// Private auxiliary methods... |
791 |
|
void FindHiggsPtAndZ(Float_t& pt, Float_t& z, Float_t& mass); |
810 |
|
void ApplyVHLepTag(const Photon *phHard, |
811 |
|
const Photon *phSoft, |
812 |
|
const Vertex *selvtx); |
813 |
< |
bool VHHasDielectron(const Photon *phHard, |
814 |
< |
const Photon *phSoft); |
815 |
< |
bool VHHasDimuon(const Photon *phHard, |
816 |
< |
const Photon *phSoft); |
817 |
< |
UInt_t VHNumberOfJets(const Photon *phHard, |
818 |
< |
const Photon *phSoft, |
819 |
< |
const Vertex *selvtx, |
820 |
< |
const Particle *lepton); |
821 |
< |
void ApplyTTHTag(const Photon *phHard, const Photon *phSoft,const Vertex *selvtx); |
813 |
> |
void ApplyVHHadTag(const Photon *phHard, |
814 |
> |
const Photon *phSoft, |
815 |
> |
const Vertex *selvtx); |
816 |
> |
void ApplyTTHTag(const Photon *phHard, |
817 |
> |
const Photon *phSoft, |
818 |
> |
const Vertex *selvtx); |
819 |
> |
bool VHLepHasDielectron(const Photon *phHard, |
820 |
> |
const Photon *phSoft); |
821 |
> |
bool VHLepHasDimuon(const Photon *phHard, |
822 |
> |
const Photon *phSoft); |
823 |
> |
UInt_t VHLepNumberOfJets(const Photon *phHard, |
824 |
> |
const Photon *phSoft, |
825 |
> |
const Vertex *selvtx, |
826 |
> |
const Particle *lepton); |
827 |
> |
bool VHHadPassesCommonCuts(const Photon *phHard, |
828 |
> |
const Photon *phSoft, |
829 |
> |
const Vertex *selvtx); |
830 |
> |
UInt_t VHHadNumberOfJets(const Photon *phHard, |
831 |
> |
const Photon *phSoft, |
832 |
> |
const Vertex *selvtx); |
833 |
> |
UInt_t VHHadNumberOfBJets(const Photon *phHard, |
834 |
> |
const Photon *phSoft, |
835 |
> |
const Vertex *selvtx); |
836 |
|
|
837 |
|
// Names for the input Collections |
838 |
|
TString fPhotonBranchName; |
923 |
|
|
924 |
|
Bool_t fApplyLeptonTag; |
925 |
|
Bool_t fApplyVHLepTag; |
926 |
+ |
Bool_t fApplyVHHadTag; |
927 |
|
Bool_t fApplyVBFTag; |
928 |
|
Bool_t fApplyTTHTag; |
929 |
|
Bool_t fApplyBTag; |