ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/CmsHi/JetAnalysis/src/HiJetResponseAnalyzer.cc
(Generate patch)

Comparing UserCode/CmsHi/JetAnalysis/src/HiJetResponseAnalyzer.cc (file contents):
Revision 1.2 by yilmaz, Fri Sep 10 12:54:47 2010 UTC vs.
Revision 1.5 by yilmaz, Wed Sep 29 15:59:10 2010 UTC

# Line 62 | Line 62 | struct JRA{
62     float b;
63     float hf;
64     float jtpt[MAXJETS];
65 +   float jtcorpt[MAXJETS];
66     float refpt[MAXJETS];
67     float jteta[MAXJETS];
68     float refeta[MAXJETS];
# Line 85 | Line 86 | class HiJetResponseAnalyzer : public edm
86        virtual void beginJob() ;
87        virtual void analyze(const edm::Event&, const edm::EventSetup&);
88        virtual void endJob() ;
89 +   bool selectJet(int i);
90  
91        // ----------member data ---------------------------
92  
93     bool usePat_;
94     bool doMC_;
95 <
96 <   double genJetPtMin_;
97 <
95 >   bool filterJets_;
96 >   bool diJetsOnly_;
97 >   bool matchDiJets_;
98 >
99 >   double genPtMin_;
100 >   double ptMin_;
101 >   double emfMin_;
102 >   double n90Min_;
103 >   double n90hitMin_;
104  
105     edm::InputTag jetTag_;
106  
# Line 103 | Line 111 | class HiJetResponseAnalyzer : public edm
111     edm::Handle<reco::Centrality> cent;
112  
113     edm::Handle<reco::JetView> jets;
114 <   //   edm::Handle<pat::JetCollection> jets;
107 <
114 >   edm::Handle<pat::JetCollection> patjets;
115  
116     edm::Service<TFileService> fs;
117  
118   };
119  
120 + bool HiJetResponseAnalyzer::selectJet(int i){
121 +  
122 +   const reco::Jet& jet = (*jets)[i];
123 +  
124 +   if(usePat_){
125 +      //      cout<<"a"<<endl;
126 +      const pat::Jet& patjet = (*patjets)[i];
127 +      //      cout<<"b"<<endl;
128 +      
129 +      if(patjet.emEnergyFraction() <= emfMin_) return false;
130 +      //      cout<<"c"<<endl;
131 +
132 +      if(patjet.jetID().n90Hits <= n90hitMin_) return false;
133 +      //      cout<<"d"<<endl;
134 +
135 +      if(doMC_){
136 +        
137 +      }
138 +
139 +   }
140 +
141 +   return true;
142 +
143 + }
144 +
145 +
146 +
147   //
148   // constants, enums and typedefs
149   //
# Line 125 | Line 159 | HiJetResponseAnalyzer::HiJetResponseAnal
159  
160   {
161     //now do what ever initialization is needed
128   genJetPtMin_ = 0;
129
130   usePat_ = false;
131   doMC_ = false;
162  
163 <   jetTag_ = edm::InputTag("selectedPatJets");
163 >   ptMin_ = iConfig.getUntrackedParameter<double>("ptMin",0);
164 >   genPtMin_ = iConfig.getUntrackedParameter<double>("genPtMin",0);
165 >   emfMin_ = iConfig.getUntrackedParameter<double>("emfMin",0);
166 >   n90Min_ = iConfig.getUntrackedParameter<double>("n90Min",0);
167 >   n90hitMin_ = iConfig.getUntrackedParameter<double>("n90hitMin",0);
168 >
169 >   filterJets_ = iConfig.getUntrackedParameter<bool>("filterJets",true);
170 >   diJetsOnly_ = iConfig.getUntrackedParameter<bool>("diJetsOnly",true);
171 >   matchDiJets_ = iConfig.getUntrackedParameter<bool>("usePat",true);
172 >   usePat_ = iConfig.getUntrackedParameter<bool>("usePat",true);
173 >   doMC_ = iConfig.getUntrackedParameter<bool>("doMC",true);
174 >   jetTag_ = iConfig.getUntrackedParameter<edm::InputTag>("src",edm::InputTag("selectedPatJets"));
175  
176   }
177  
# Line 155 | Line 196 | HiJetResponseAnalyzer::analyze(const edm
196     using namespace edm;
197  
198     iEvent.getByLabel(jetTag_,jets);
199 <   cout<<"a"<<endl;
199 >   if(usePat_)iEvent.getByLabel(jetTag_,patjets);
200  
201     jra_.nref = 0;
202     for(unsigned int j = 0 ; j < jets->size(); ++j){
162      cout<<"b"<<endl;
203        
204        //      const pat::Jet& jet = (*jets)[j];
205 <      const reco::Jet jet = (*jets)[j];      
205 >      if(filterJets_ && !selectJet(j)) continue;
206 >
207 >      const reco::Jet& jet = (*jets)[j];      
208 >
209        jra_.jtpt[jra_.nref] = jet.pt();
210        jra_.jteta[jra_.nref] = jet.eta();
211        jra_.jtphi[jra_.nref] = jet.phi();
212 <      cout<<"c"<<endl;
213 <      
212 >      jra_.jtcorpt[jra_.nref] = jet.pt();
213 >
214        if(usePat_){
215 <         const pat::Jet& patjet = (*jets)[j];
215 >         const pat::Jet& patjet = (*patjets)[j];
216 >
217 >         jra_.jtpt[jra_.nref] = patjet.correctedJet("raw").pt();
218 >         jra_.jtcorpt[jra_.nref] = patjet.pt();
219          
220           if(doMC_ && patjet.genJet() != 0){        
221 <            //      if(jet.genJet()->pt() < genJetPtMin_) continue;
221 >            if(patjet.genJet()->pt() < genPtMin_) continue;
222              jra_.refpt[jra_.nref] = patjet.genJet()->pt();
223              jra_.refeta[jra_.nref] = patjet.genJet()->eta();
224              jra_.refphi[jra_.nref] = patjet.genJet()->phi();
# Line 203 | Line 249 | HiJetResponseAnalyzer::beginJob()
249     t->Branch("hf",&jra_.hf,"hf/F");
250     t->Branch("nref",&jra_.nref,"nref/I");
251     t->Branch("jtpt",jra_.jtpt,"jtpt[nref]/F");
252 +   t->Branch("jtcorpt",jra_.jtcorpt,"jtcorpt[nref]/F");
253     t->Branch("refpt",jra_.refpt,"refpt[nref]/F");
254     t->Branch("jteta",jra_.jteta,"jteta[nref]/F");
255     t->Branch("refeta",jra_.refeta,"refeta[nref]/F");

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines