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

Comparing UserCode/MitPhysics/Utils/interface/MuonTools.h (file contents):
Revision 1.9 by loizides, Mon Jun 15 15:00:23 2009 UTC vs.
Revision 1.23 by ceballos, Sun May 6 12:27:38 2012 UTC

# Line 19 | Line 19
19   #define MITPHYSICS_UTILS_MUONTOOLS_H
20  
21   #include "MitAna/DataTree/interface/Muon.h"
22 + #include "MitAna/DataTree/interface/VertexCol.h"
23 + #include "MitAna/DataTree/interface/BeamSpotCol.h"
24   #include "MitCommon/MathTools/interface/MathUtils.h"
25   #include "TH2D.h"
26  
# Line 27 | Line 29 | namespace mithep {
29      public:
30        MuonTools(const char *mutemp="$CMSSW_BASE/src/MitPhysics/data/MuonCaloTemplate.root",
31                  const char *pitemp="$CMSSW_BASE/src/MitPhysics/data/PionCaloTemplate.root");
32 <      ~MuonTools();
32 >      virtual ~MuonTools();
33  
34        enum ESelType {
35          kAllArbitrated,          //All arbitration (DT/CSC/RPC Hits) put on at least one
# Line 43 | Line 45 | namespace mithep {
45                                   //  ===> 1.2 Segment compatability + 0.8 calo compatability > 1.2
46        };
47  
48 <      Bool_t      Init(const char *mutemp, const char *pitemp);
49 <      Bool_t      IsGood(const mithep::Muon *iMuon, ESelType iSel) const;
50 <      Double_t    GetCaloCompatability(const mithep::Muon *iMuon,
51 <                                       Bool_t iEMSpecial, Bool_t iCorrectedHCAL) const;
52 <      Double_t    GetSegmentCompatability(const mithep::Muon *iMuon)             const;
48 >      enum EMuonEffectiveAreaType {
49 >        kMuTrkIso03,
50 >        kMuEcalIso03,
51 >        kMuHcalIso03,
52 >        kMuTrkIso05,
53 >        kMuEcalIso05,
54 >        kMuHcalIso05,
55 >        kMuChargedIso03,
56 >        kMuGammaIso03,
57 >        kMuNeutralHadronIso03,
58 >        kMuGammaAndNeutralHadronIso03,
59 >        kMuGammaIso03Tight,
60 >        kMuNeutralHadronIso03Tight,
61 >        kMuGammaAndNeutralHadronIso03Tight,
62 >        kMuChargedIso04,
63 >        kMuGammaIso04,
64 >        kMuNeutralHadronIso04,
65 >        kMuGammaAndNeutralHadronIso04,
66 >        kMuGammaIso04Tight,
67 >        kMuNeutralHadronIso04Tight,
68 >        kMuGammaAndNeutralHadronIso04Tight,
69 >        kMuGammaIsoDR0p0To0p1,
70 >        kMuGammaIsoDR0p1To0p2,
71 >        kMuGammaIsoDR0p2To0p3,
72 >        kMuGammaIsoDR0p3To0p4,
73 >        kMuGammaIsoDR0p4To0p5,
74 >        kMuNeutralHadronIsoDR0p0To0p1,
75 >        kMuNeutralHadronIsoDR0p1To0p2,
76 >        kMuNeutralHadronIsoDR0p2To0p3,
77 >        kMuNeutralHadronIsoDR0p3To0p4,
78 >        kMuNeutralHadronIsoDR0p4To0p5,
79 >        kMuGammaIso05,
80 >        kMuNeutralIso05,
81 >        kMuNeutralIso03,
82 >        kMuNeutralIso04,
83 >        kMuHadEnergy,
84 >        kMuHoEnergy,
85 >        kMuEmEnergy,
86 >        kMuHadS9Energy,
87 >        kMuHoS9Energy,
88 >        kMuEmS9Energy,
89 >        kMuEMIso03,
90 >        kMuHadIso03,
91 >        kMuEMIso05,
92 >        kMuHadIso05
93 >      };
94 >
95 >      enum EMuonEffectiveAreaTarget {
96 >        kMuEANoCorr,
97 >        kMuEAData2011,
98 >        kMuEASummer11MC,
99 >        kMuEAFall11MC,
100 >        kMuEAData2012
101 >      };
102 >
103 >      Bool_t          Init(const char *mutemp, const char *pitemp);
104 >      Bool_t          IsGood(const mithep::Muon *iMuon, ESelType iSel) const;
105 >      Double_t        GetCaloCompatability(const mithep::Muon *iMuon,
106 >                                         Bool_t iEMSpecial, Bool_t iCorrectedHCAL) const;
107 >      Double_t        GetSegmentCompatability(const mithep::Muon *iMuon)             const;
108 >      static Bool_t   PassD0Cut(const Muon *mu, const VertexCol *vertices, Double_t fD0Cut, Int_t nVertex = 0);
109 >      static Bool_t   PassD0Cut(const Muon *mu, const BeamSpotCol *beamspots, Double_t fD0Cut);
110 >      static Bool_t   PassDZCut(const Muon *mu, const VertexCol *vertices, Double_t fDZCut, Int_t nVertex = 0);
111 >      static Bool_t   PassSoftMuonCut(const Muon *mu, const VertexCol *vertices, const Double_t fDZCut = 0.2,
112 >                                    const Bool_t applyIso = kTRUE);
113 >      static Double_t MuonEffectiveArea(EMuonEffectiveAreaType type, Double_t Eta,
114 >                                        EMuonEffectiveAreaTarget EffectiveAreaTarget = kMuEAData2011);
115  
116      protected:
117        void        DeleteHistos();
# Line 76 | Line 140 | namespace mithep {
140        TH2D       *fpion_had_etaEpl;     //!Plus Endcap Hadronic Calo Deposit Template for Pions
141  
142        TH2D       *LoadHisto(const char *fname, TFile *file)                      const;
143 +
144 +    ClassDef(MuonTools, 0) // Muon tools
145    };
146   }
147  
# Line 105 | Line 171 | inline Bool_t mithep::MuonTools::Overflo
171  
172    if (iHist ->GetXaxis()->FindBin(lVal0) == 0                  ||
173        iHist ->GetXaxis()->FindBin(lVal0) >  iHist->GetNbinsX() ||
174 <      iHist ->GetYaxis()->FindBin(lVal0) == 0                  ||
175 <      iHist ->GetYaxis()->FindBin(lVal0) >  iHist->GetNbinsY()) {
174 >      iHist ->GetYaxis()->FindBin(lVal1) == 0                  ||
175 >      iHist ->GetYaxis()->FindBin(lVal1) >  iHist->GetNbinsY()) {
176      return kTRUE;
177    }
178    return kFALSE;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines