ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Utils/interface/JetIDMVA.h
(Generate patch)

Comparing UserCode/MitPhysics/Utils/interface/JetIDMVA.h (file contents):
Revision 1.1 by pharris, Wed Mar 21 18:56:25 2012 UTC vs.
Revision 1.8 by pharris, Tue Jun 12 09:43:53 2012 UTC

# Line 21 | Line 21
21   #include "MitAna/DataTree/interface/PileupEnergyDensityCol.h"
22   #include "MitCommon/MathTools/interface/MathUtils.h"
23  
24 + // for Rho definitons
25 + #include "MitPhysics/Utils/interface/RhoUtilities.h"
26 +
27   class TRandom3;
28   namespace TMVA {
29    class Reader;
# Line 33 | Line 36 | namespace mithep {
36        ~JetIDMVA();
37  
38        enum MVAType {
39 <        kBaseline = 0
39 >        kBaseline = 0,
40 >        k42       = 1,
41 >        k52       = 2,
42 >        kCut      = 3
43        };
44  
45 +      enum CutType {
46 +        kTight     = 0,
47 +        kMedium    = 1,
48 +        kLoose     = 2,
49 +        kMET       = 3
50 +      };
51  
52 <      void     Initialize(TString           iMethodName="JetIDMVA",
53 <                          TString           iWeights="$CMSSW_BASE/src/MitPhysics/data/mva_JetID.weights.xml",
54 <                          JetIDMVA::MVAType iType=kBaseline );
52 >      void     Initialize(JetIDMVA::CutType iCutType,
53 >                          TString           iLowPtWeights ="$CMSSW_BASE/src/MitPhysics/data/mva_JetID_lowpt.weights.xml",
54 >                          TString           iHighPtWeights="$CMSSW_BASE/src/MitPhysics/data/mva_JetID_highpt.weights.xml",
55 >                          JetIDMVA::MVAType iType=kBaseline,
56 >                          TString           iCutFileName  ="$CMSSW_BASE/src/MitPhysics/Utils/python/JetIdParams_cfi.py");
57        
58        Bool_t   IsInitialized() const { return fIsInitialized; }
59        Double_t MVAValue(    
# Line 49 | Line 63 | namespace mithep {
63                          Float_t iJPhi1  ,
64                          Float_t iJD01   ,
65                          Float_t iJDZ1   ,
66 <                        Float_t iJM1    ,
67 <                        Float_t iNPart1 ,
68 <                        Float_t iLPt1   ,
69 <                        Float_t iLEta1  ,
70 <                        Float_t iLPhi1  ,
71 <                        Float_t iSPt1   ,
72 <                        Float_t iSEta1  ,
73 <                        Float_t iSPhi1  ,
74 <                        Float_t iNEPt1  ,
75 <                        Float_t iNEEta1 ,
76 <                        Float_t iNEPhi1 ,
63 <                        Float_t iEMPt1  ,
64 <                        Float_t iEMEta1 ,
65 <                        Float_t iEMPhi1 ,
66 <                        Float_t iChPt1  ,
67 <                        Float_t iChPhi1 ,
68 <                        Float_t iLFr1   ,
69 <                        Float_t iDRlC1  ,
70 <                        Float_t iDRLS1  ,
71 <                        Float_t iDRM1   ,
72 <                        Float_t iDRMNE1 ,
73 <                        Float_t iDREM1  ,
74 <                        Float_t iDRCH1  
66 >                        Float_t iBeta   ,
67 >                        Float_t iBetaStar,
68 >                        Float_t iNCharged,
69 >                        Float_t iNNeutrals,
70 >                        Float_t iDRMean  ,
71 >                        Float_t iFrac01  ,
72 >                        Float_t iFrac02  ,
73 >                        Float_t iFrac03  ,
74 >                        Float_t iFrac04  ,
75 >                        Float_t iFrac05  ,
76 >                        Float_t iDR2Mean
77                          );
78 +      //Cut Based
79 +      Bool_t passCut(const PFJet *iJet,const Vertex *iVertex,const VertexCol *iVertices);
80  
81 <      Bool_t   pass(const PFJet *iJet,const Vertex *iVertex,
81 >      Bool_t passPt(const PFJet *iJet, FactorizedJetCorrector *iJetCorrector=0,
82 >                    const PileupEnergyDensityCol *iPileupEnergyDensity=0,
83 >                    RhoUtilities::RhoType type=RhoUtilities::DEFAULT);
84 >      //UNcorrected Jets
85 >      Bool_t   pass(const PFJet *iJet,const Vertex *iVertex,const VertexCol *iVertices,
86                      FactorizedJetCorrector *iJetCorrector,
87 <                    const PileupEnergyDensityCol *iPileupEnergyDensity);
88 <                        
87 >                    const PileupEnergyDensityCol *iPileupEnergyDensity,
88 >                    RhoUtilities::RhoType type = RhoUtilities::DEFAULT);
89  
90 <      Double_t MVAValue(const PFJet *iJet,const Vertex *iVertex,
90 >      //Corrected Jets
91 >      Bool_t   pass(const PFJet *iJet,const Vertex *iVertex,const VertexCol *iVertices);
92 >                                        
93 >      //Uncorrected Jets
94 >      Double_t MVAValue(const PFJet *iJet,const Vertex *iVertex,const VertexCol *iVertices,
95                          FactorizedJetCorrector *iJetCorrector,
96                          const PileupEnergyDensityCol *iPileupEnergyDensity,
97                          Bool_t printDebug=false);
98  
99 +      //Corrected Jets
100 +      Double_t MVAValue(const PFJet *iJet,const Vertex *iVertex,const VertexCol *iVertices,
101 +                        Bool_t printDebug=false);
102 +
103  
104        double  correctedPt(const PFJet *iJet, FactorizedJetCorrector *iJetCorrector,
105 <                          const PileupEnergyDensityCol *iPUEnergyDensity);
105 >                          const PileupEnergyDensityCol *iPUEnergyDensity,
106 >                          RhoUtilities::RhoType type = RhoUtilities::DEFAULT);
107  
108        Float_t                  fJetPtMin;
109 +      Float_t                  fDZCut;
110  
111      protected:      
112        TMVA::Reader            *fReader;
113 <      TString                  fMethodName;
113 >      TMVA::Reader            *fLowPtReader;
114 >      TString                  fLowPtMethodName;
115 >      TString                  fHighPtMethodName;
116        MVAType                  fType;
117 +      CutType                  fCutType;
118        Bool_t                   fIsInitialized;
119 +      Float_t                  fMVACut[4][4]; //Fix the cut array
120 +      Float_t                  fRMSCut[4][4];
121 +      Float_t                  fBetaStarCut[4][4];
122        
123 <      Float_t fNPV;
124 <      Float_t fJPt1;
125 <      Float_t fJEta1;
126 <      Float_t fJPhi1;
127 <      Float_t fJD01 ;
128 <      Float_t fJDZ1 ;
129 <      Float_t fJM1  ;
130 <      Float_t fNPart1;
131 <      Float_t fLPt1 ;
132 <      Float_t fLEta1;
133 <      Float_t fLPhi1;
134 <      Float_t fSPt1 ;
135 <      Float_t fSEta1;
136 <      Float_t fSPhi1;
137 <      Float_t fNEPt1;
138 <      Float_t fNEEta1;
139 <      Float_t fNEPhi1;
140 <      Float_t fEMPt1;
117 <      Float_t fEMEta1;
118 <      Float_t fEMPhi1;
119 <      Float_t fChPt1;
120 <      Float_t fChPhi1;
121 <      Float_t fLFr1 ;
122 <      Float_t fDRLC1;
123 <      Float_t fDRLS1;
124 <      Float_t fDRM1 ;
125 <      Float_t fDRNE1;
126 <      Float_t fDREM1;
127 <      Float_t fDRCH1;
128 <        
123 >      Float_t fNVtx     ;
124 >      Float_t fJPt1     ;
125 >      Float_t fJEta1    ;
126 >      Float_t fJPhi1    ;
127 >      Float_t fJD01     ;
128 >      Float_t fJDZ1     ;
129 >      Float_t fBeta     ;
130 >      Float_t fBetaStar ;
131 >      Float_t fNCharged ;
132 >      Float_t fNNeutrals;
133 >      Float_t fDRMean   ;
134 >      Float_t fFrac01   ;
135 >      Float_t fFrac02   ;
136 >      Float_t fFrac03   ;
137 >      Float_t fFrac04   ;
138 >      Float_t fFrac05   ;
139 >      Float_t fDR2Mean  ;
140 >
141        ClassDef(JetIDMVA,0)
142          };
143   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines