////////////////////////////////////////////////////////// // This class has been automatically generated on // Sun Jan 28 11:48:24 2018 by ROOT version 6.10/08 // from TTree AntiKt10TrackCaloClusterTrimmedPtFrac5SmallR20Jets/Calibration Ntuple // found on file: user.rjansky.12957658.calibration._000301.root // 13th March Add 2D plots of pT v m to look for preselection // 10th March Add monitoring of bulk ////////////////////////////////////////////////////////// #ifndef vv_light_h #define vv_light_h #include #include #include #include #include #include #include #include #include // Headers needed by this particular selector class vv_light : public TSelector { public : TTreeReader fReader; //!the tree reader TTree *fChain = 0; //!pointer to the analyzed TTree or TChain // Readers to access the data (delete the ones you do not need). TTreeReaderValue weight = {fReader, "weight"}; TTreeReaderValue sample_weight = {fReader, "sample_weight"}; TTreeReaderValue MC_weight = {fReader, "MC_weight"}; TTreeReaderValue pileup_weight = {fReader, "pileup_weight"}; TTreeReaderValue lead_jet_pt = {fReader, "lead_jet_pt"}; TTreeReaderValue lead_jet_eta = {fReader, "lead_jet_eta"}; TTreeReaderValue lead_jet_m = {fReader, "lead_jet_m"}; TTreeReaderValue lead_jet_ungrtrk500 = {fReader, "lead_jet_ungrtrk500"}; TTreeReaderValue lead_jet_combTCCs = {fReader, "lead_jet_combTCCs"}; TTreeReaderValue lead_jet_passedWSubstructure = {fReader, "lead_jet_passedWSubstructure"}; TTreeReaderValue lead_jet_passedZSubstructure = {fReader, "lead_jet_passedZSubstructure"}; TTreeReaderValue sub_jet_pt = {fReader, "sub_jet_pt"}; TTreeReaderValue sub_jet_eta = {fReader, "sub_jet_eta"}; TTreeReaderValue sub_jet_m = {fReader, "sub_jet_m"}; TTreeReaderValue sub_jet_ungrtrk500 = {fReader, "sub_jet_ungrtrk500"}; TTreeReaderValue sub_jet_combTCCs = {fReader, "sub_jet_combTCCs"}; TTreeReaderValue sub_jet_passedWSubstructure = {fReader, "sub_jet_passedWSubstructure"}; TTreeReaderValue sub_jet_passedZSubstructure = {fReader, "sub_jet_passedZSubstructure"}; TTreeReaderValue umjj = {fReader, "umjj"}; TTreeReaderValue dijet_mass = {fReader, "dijet_mass"}; TTreeReaderValue dijet_mass_mixed = {fReader, "dijet_mass_mixed"}; TTreeReaderValue ptasym = {fReader, "ptasym"}; TTreeReaderValue dyjj = {fReader, "dyjj"}; TTreeReaderValue npv0 = {fReader, "npv0"}; TTreeReaderValue run = {fReader, "run"}; TTreeReaderValue event = {fReader, "event"}; TTreeReaderValue avgMu = {fReader, "avgMu"}; TTreeReaderValue actMu = {fReader, "actMu"}; TTreeReaderValue avgMuScaled = {fReader, "avgMuScaled"}; TTreeReaderValue actMuScaled = {fReader, "actMuScaled"}; TTreeReaderValue pudensity = {fReader, "pudensity"}; TTreeReaderValue pudensityScaled = {fReader, "pudensityScaled"}; //Variables needed for cutflow TTreeReaderValue first_jet_pt = {fReader, "first_jet_pt"}; TTreeReaderValue first_jet_phi = {fReader, "first_jet_phi"}; TTreeReaderValue first_jet_eta = {fReader, "first_jet_eta"}; TTreeReaderValue first_jet_m = {fReader, "first_jet_m"}; TTreeReaderValue first_jet_ungrtrk500 = {fReader, "first_jet_ungrtrk500"}; TTreeReaderValue first_jet_combTCCs = {fReader, "first_jet_combTCCs"}; TTreeReaderValue first_jet_passedWSubstructure = {fReader, "first_jet_passedWSubstructure"}; TTreeReaderValue first_jet_passedZSubstructure = {fReader, "first_jet_passedZSubstructure"}; TTreeReaderValue second_jet_pt = {fReader, "second_jet_pt"}; TTreeReaderValue second_jet_phi = {fReader, "second_jet_phi"}; TTreeReaderValue second_jet_eta = {fReader, "second_jet_eta"}; TTreeReaderValue second_jet_m = {fReader, "second_jet_m"}; TTreeReaderValue second_jet_ungrtrk500 = {fReader, "second_jet_ungrtrk500"}; TTreeReaderValue second_jet_combTCCs = {fReader, "second_jet_combTCCs"}; TTreeReaderValue second_jet_passedWSubstructure = {fReader, "second_jet_passedWSubstructure"}; TTreeReaderValue second_jet_passedZSubstructure = {fReader, "second_jet_passedZSubstructure"}; TH1D * h_lead_pt=0; TH1D * h_selection=0; //lead jet mass spectra TH1D * h_lead_ms=0; TH1D * h_lead_ms_ol=0; TH1D * h_lead_ms_of=0; TH1D * h_lead_ms_of_ntk20=0; TH1D * h_lead_ms_of_ntk25=0; TH1D * h_lead_ms_ol_bar=0; //sublead mass spectra TH1D * h_sub_ms=0; TH1D * h_sub_ms_ol=0; TH1D * h_sub_ms_of=0; TH1D * h_sub_ms_of_ntk20=0; TH1D * h_sub_ms_of_ntk25=0; //these are made by the fitting code and here they are just redundant TH1D * h_both_ms_of_0mu25=0; TH1D * h_both_ms_of_25mu40=0; TH1D * h_both_ms_of_40mu60=0; TH1D * h_both_ms_of_tcc20=0; TH1D * h_both_ms_of_tcc25=0; TH1D * h_both_ms_of_tcc30=0; TH1D * h_both_ms_of_ntkf20=0; TH1D * h_both_ms_of_ntkf25=0; TH1D * h_both_ms_of_ntkf30=0; TH1D * h_both_ms_of_nTCCf20=0; TH1D * h_both_ms_of_nTCCf25=0; TH1D * h_both_ms_of_nTCCf30=0; std::vector hlist; std::vector hlistNames; vv_light(TTree * /*tree*/ =0) { } virtual ~vv_light(); virtual Int_t Version() const { return 2; } virtual void Begin(TTree *tree); virtual void SlaveBegin(TTree *tree); virtual void Init(TTree *tree); virtual Bool_t Notify(); //virtual Bool_t Process(Long64_t entry,double ptcut); virtual Bool_t Process(Long64_t entry); virtual Int_t GetEntry(Long64_t entry, Int_t getall = 0) { return fChain ? fChain->GetTree()->GetEntry(entry, getall) : 0; } virtual void SetOption(const char *option) { fOption = option; } virtual void SetObject(TObject *obj) { fObject = obj; } virtual void SetInputList(TList *input) { fInput = input; } virtual TList *GetOutputList() const { return fOutput; } virtual void SlaveTerminate(); virtual void Terminate(); bool PassSelection(double jetPtCut); TH1D * create1D(TString name,TString title,int nbins,double x1,double x2); TH2D * create2D(TString name,TString title,int nbinsx,double x1,double x2,int nbinsy,double y1,double y2); ClassDef(vv_light,0); }; #endif #ifdef vv_light_cxx void vv_light::Init(TTree *tree) { // The Init() function is called when the selector needs to initialize // a new tree or chain. Typically here the reader is initialized. // It is normally not necessary to make changes to the generated // code, but the routine can be extended by the user if needed. // Init() will be called many times when running on PROOF // (once per file to be processed). fReader.SetTree(tree); } Bool_t vv_light::Notify() { // The Notify() function is called when a new file is opened. This // can be either for a new TTree in a TChain or when when a new TTree // is started when using PROOF. It is normally not necessary to make changes // to the generated code, but the routine can be extended by the // user if needed. The return value is currently not used. return kTRUE; } #endif // #ifdef vv_light_cxx