ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/OSUT3Analysis/AnaTools/plugins/OSUAnalysis.h
(Generate patch)

Comparing UserCode/OSUT3Analysis/AnaTools/plugins/OSUAnalysis.h (file contents):
Revision 1.41 by ahart, Tue Jun 11 00:35:34 2013 UTC vs.
Revision 1.49 by biliu, Thu Jul 11 16:40:01 2013 UTC

# Line 15 | Line 15
15   #include "TH1D.h"
16   #include "TH2D.h"
17   #include "TLorentzVector.h"
18 + #include "TVector3.h"
19 + #include "TVector2.h"
20   #include "TTree.h"
21  
22   #include "FWCore/Framework/interface/EDProducer.h"
# Line 73 | Line 75 | class OSUAnalysis : public edm::EDProduc
75        double valueLookup (const BNelectron* object1, const BNelectron* object2, string variable, string function, string &stringValue);
76        double valueLookup (const BNelectron* object1, const BNmuon* object2, string variable, string function, string &stringValue);
77        double valueLookup (const BNelectron* object1, const BNjet* object2, string variable, string function, string &stringValue);
78 +      double valueLookup (const BNelectron* object1, const BNphoton* object2, string variable, string function, string &stringValue);
79 +      double valueLookup (const BNmuon* object1, const BNphoton* object2, string variable, string function, string &stringValue);
80 +      double valueLookup (const BNmuon* object1, const BNevent* object2, string variable, string function, string &stringValue);
81 +      double valueLookup (const BNphoton* object1, const BNjet* object2, string variable, string function, string &stringValue);
82        double valueLookup (const BNelectron* object1, const BNtrack* object2, string variable, string function, string &stringValue);
83        double valueLookup (const BNmuon* object1, const BNjet* object2, string variable, string function, string &stringValue);
84 +      double valueLookup (const BNmet* object1, const BNjet* object2, string variable, string function, string &stringValue);  
85 +      double valueLookup (const BNtrack* object1, const BNjet* object2, string variable, string function, string &stringValue);  
86        double valueLookup (const BNmuon* object1, const BNtrack* object2, string variable, string function, string &stringValue);
87        double valueLookup (const BNmuon* object1, const BNtau* object2, string variable, string function, string &stringValue);
88        double valueLookup (const BNtau* object1, const BNtau* object2, string variable, string function, string &stringValue);
# Line 98 | Line 106 | class OSUAnalysis : public edm::EDProduc
106  
107        int getTrkIsIso (const BNtrack* track1, const BNtrackCollection* trackColl);
108        double getTrkPtTrue (const BNtrack* track1, const BNmcparticleCollection* genPartColl);
109 +      double getHt (const BNjetCollection* jetColl);
110        double getTrkPtRes (const BNtrack* track1);
111        double getTrkIsIso (const BNtrack* track1);
112        double getTrkCaloTotRhoCorr(const BNtrack* track);
# Line 117 | Line 126 | class OSUAnalysis : public edm::EDProduc
126        //string       holds input collection type
127        //outer vector corresponds to each cut
128        //inner vector corresponds to each object in input collection
129 <      //bool         tells if object passes or fails cuts
130 <      typedef map<string, vector < vector<bool> > > flagMap;
129 >      //pair(bool) first bool counts towards the event passing, second bool determines whether to plot the object        
130 >      typedef map<string, vector<vector<pair<bool,bool> > > > flagMap;
131 >
132 >      typedef vector<pair<bool,bool> > flagPair;
133  
134        //counterMap:
135        //string holds input collection type
# Line 160 | Line 171 | class OSUAnalysis : public edm::EDProduc
171        bool applyLeptonSF_;
172        bool applyBtagSF_;
173        int  minBtag_;
163      int  maxBtag_;
174        bool printEventInfo_;
175        bool printAllTriggers_;
176        bool useTrackCaloRhoCorr_;  // to use the calo-based rho correction for the by-hand calculation of the track isolation energy
# Line 196 | Line 206 | class OSUAnalysis : public edm::EDProduc
206        edm::Handle<double> rhokt6CaloJetsHandle_;
207  
208        flagMap cumulativeFlags;
209 +      flagMap vetoFlags;
210  
211        vector<vector<map<string, TH1D*>>> oneDHists_;
212        vector<vector<map<string, TH2D*>>> twoDHists_;
# Line 232 | Line 243 | class OSUAnalysis : public edm::EDProduc
243          vector<double> cutValues;
244          vector<string> cutStringValues;
245          vector<string> logicalOperators;//and, or
246 <        int numSubcuts;
246 >        int    numSubcuts;
247          int    numberRequired;
248          string eventComparativeOperator;
249          string name;
250 +        bool   isVeto;
251        };
252  
253        struct channel {
# Line 248 | Line 260 | class OSUAnalysis : public edm::EDProduc
260        vector<string>  objectsToGet;
261        vector<string>  objectsToCut;
262        vector<string>  objectsToPlot;
263 +      vector<string>  objectsToFlag;
264 +
265        vector<channel> channels;
266        vector<histogram> histograms;
267        vector<BranchSpecs> treeBranches_;
# Line 264 | Line 278 | class OSUAnalysis : public edm::EDProduc
278        double stopCTauScaleFactor_;
279  
280        template <class InputCollection> void setObjectFlags(cut &, uint, flagMap &, flagMap &, InputCollection, string);
281 <      template <class InputCollection1, class InputCollection2> void setObjectFlags(cut &, uint, flagMap &, flagMap &, InputCollection1, InputCollection2, vector<bool>, vector<bool>, string);
281 >      template <class InputCollection1, class InputCollection2> void setObjectFlags(cut &, uint, flagMap &, flagMap &, InputCollection1, InputCollection2, flagPair, flagPair, string);
282 >
283 >      template <class InputCollection> void assignTreeBranch(BranchSpecs brSpecs, InputCollection inputCollection, flagPair flags);  
284 >      template <class InputCollection> void fill1DHistogram(TH1*, histogram, InputCollection, flagPair, double);
285 >      template <class InputCollection1, class InputCollection2> void fill1DHistogram(TH1*, histogram, InputCollection1, InputCollection2, flagPair, flagPair, flagPair, double);
286 >      template <class InputCollection> void fill2DHistogram(TH2*, histogram, InputCollection, flagPair, double);
287 >      template <class InputCollection1, class InputCollection2> void fill2DHistogram(TH2*, histogram, InputCollection1, InputCollection2, flagPair, flagPair, flagPair, double);
288 >      bool getPreviousCumulativeFlags(uint currentCutIndex, flagMap &individualFlags, string obj1Type, uint object1, string flagType);
289 >
290  
269      template <class InputCollection> void assignTreeBranch(BranchSpecs brSpecs, InputCollection inputCollection, vector<bool> flags);  
270      template <class InputCollection> void fill1DHistogram(TH1*, histogram, InputCollection, vector<bool>, double);
271      template <class InputCollection1, class InputCollection2> void fill1DHistogram(TH1*, histogram, InputCollection1, InputCollection2, vector<bool>, vector<bool>, vector<bool>, double);
272      template <class InputCollection> void fill2DHistogram(TH2*, histogram, InputCollection, vector<bool>, double);
273      template <class InputCollection1, class InputCollection2> void fill2DHistogram(TH2*, histogram, InputCollection1, InputCollection2, vector<bool>, vector<bool>, vector<bool>, double);
274      bool getPreviousCumulativeFlags(uint currentCutIndex, flagMap &individualFlags, string obj1Type, uint object1);
291  
292        template <class InputObject> int getGenMatchedParticleIndex(InputObject);
293        int getPdgIdBinValue(int);
# Line 284 | Line 300 | class OSUAnalysis : public edm::EDProduc
300        const BNmet *chosenMET ();
301        const BNelectron *chosenElectron ();
302        const BNmuon *chosenMuon ();
303 +      double chosenHT ();
304 +      pair<const BNmuon *, const BNmuon*> leadMuonPair ();
305 +      pair<const BNelectron *, const BNelectron*> leadElectronPair ();
306  
307    };
308  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines