MA5SandBox: cms_exo_17_030.h

File cms_exo_17_030.h, 2.7 KB (added by Benjamin Fuks, 4 years ago)
Line 
1#ifndef analysis_cms_exo_17_030_h
2#define analysis_cms_exo_17_030_h
3
4#include "SampleAnalyzer/Process/Analyzer/AnalyzerBase.h"
5#include <string>
6#include <TString.h>
7#include <vector>
8#include <array>
9
10namespace MA5
11{
12 typedef std::vector<const RecJetFormat*> JetCollection;
13 typedef std::array<const RecJetFormat*, 3> Triplet;
14 typedef std::pair<Triplet, Triplet> TripletPair;
15 typedef std::vector<TripletPair> PairCollection;
16 typedef std::vector<Triplet> TripletCollection;
17
18 class cms_exo_17_030 : public AnalyzerBase {
19 INIT_ANALYSIS(cms_exo_17_030,"cms_exo_17_030")
20
21 public:
22 virtual bool Initialize(const MA5::Configuration& cfg, const std::map<std::string,std::string>& parameters);
23 virtual void Finalize(const SampleFormat& summary, const std::vector<SampleFormat>& files);
24 virtual bool Execute(SampleFormat& sample, const EventFormat& event);
25
26 private:
27 std::vector<std::string> bins_SR1, bins_SR2, bins_SR3, bins_SR4;
28 std::vector<std::string> cuts_SR1, cuts_SR2, cuts_SR3, cuts_SR4;
29 const static unsigned int nBins_SR1 = 30;
30 const static unsigned int binsize_SR1 = 7;
31 const static unsigned int firstBin_SR1 = 196;
32
33 const static unsigned int nBins_SR2 = 32;
34 const static unsigned int binsize_SR2 = 10;
35 const static unsigned int firstBin_SR2 = 390;
36
37 const static unsigned int nBins_SR3 = 17;
38 const static unsigned int binsize_SR3 = 30;
39 const static unsigned int firstBin_SR3 = 690;
40
41 const static unsigned int nBins_SR4 = 20;
42 const static unsigned int binsize_SR4 = 40;
43 const static unsigned int firstBin_SR4 = 1200;
44
45 JetCollection jetSelection(const EventFormat& event,const double &ptCut, const double &etaCut);
46 TripletCollection pairSelection(const PairCollection &pairs, const double &asymmCut);
47 TripletCollection deltaSelection(const TripletCollection &trips, const double &deltaCut);
48 TripletCollection mds32Selection(const TripletCollection &trips, const double &mdsCut);
49 TripletCollection GenMatchedTriplets(const EventFormat& event, const JetCollection &jetcoll);
50 TripletCollection GenMatchedTriplets( const EventFormat& event, const TripletCollection &trips);
51
52 PairCollection makePairCollection(const JetCollection &jetcoll);
53
54 // kinematic variables
55 MALorentzVector momentum(const Triplet &trip);
56 double HT(const JetCollection &jetcoll);
57 double mass(const Triplet &triplet);
58 double dalitz32(const Triplet &triplet, const int &idx1, const int &idx2);
59 double mds32(const Triplet &triplet);
60 double dalitz6332(const JetCollection &jetcoll, const int &idx1, const int &idx2, const int &idx3);
61 double mds6332(const JetCollection &jetcoll);
62 double massAsymm(const TripletPair &pair);
63 double delta(const Triplet &triplet);
64 };
65}
66
67#endif