Ejemplo n.º 1
0
void bookHisto(){
	
	for(int nJ=nJetmin; nJ<=nJetmax; nJ++)
		CreateHistogram(Form("st_nJets%d",nJ),Form("%d jets",nJ),"S_{T} GeV","Events",50,0,st_max);
	
	CreateHistogram("Muon_pT","Muon p_{T}","p_{T} GeV","Events",100,0,1000); 
}
Ejemplo n.º 2
0
AnalysisWidget::AnalysisWidget(QWidget *parent,  LynxDAQ *daq,SIMAnalysisThread *sat, GRIRegulator *r) :
  QWidget(parent),
  ui_(new Ui::AnalysisWidget) {
  ui_->setupUi(this);

  //Retrieve DAQ, analysis thread, and regulator pointers:
  daq_thread_ = daq;
  an_thread_ = sat;
  reg = r;
  reg_started_ = false;

  // set up a timer to update widget
  update_timer_ = new QTimer();
  update_timer_->setInterval(500);
  update_timer_->start();

  //Update the page to make sure everything's good to go:
  Update();

  //start the signal and slot pairs...
  connect(update_timer_, SIGNAL(timeout()), this, SLOT(Update()));
  connect(ui_->updateHist, SIGNAL(clicked()), this, SLOT(CreateHistogram()));
  connect(ui_->useCurrentTime, SIGNAL(clicked()), this, SLOT(SetEndTimeToCurrent()));

  //Disable equation editing:
  ui_->c0->setEnabled(false);
  ui_->c1->setEnabled(false);
  ui_->c2->setEnabled(false);
}
Ejemplo n.º 3
0
void bookGraphs(){
	CreateHistogram("Mass_Bins","","","",8,250,1050);
	
	for(int mass=300; mass<=600; mass+=100){
		CreateHistogram(Form("h_sensitivity_M%d_exp",mass),"","n-jets","r",15,0.5,15.5 );
		CreateHistogram(Form("h_sensitivity_M%d_obs",mass),"","n-jets","r",15,0.5,15.5 );
        
		CreateHistogram(Form("h_sensitivity_M%d_exp_1sigmaP",mass),"","n-jets","r",15,0.5,15.5 );
		CreateHistogram(Form("h_sensitivity_M%d_exp_1sigmaM",mass),"","n-jets","r",15,0.5,15.5 );
		
		int nJ=4;
		
		for(int i=0; i<15; i++){
			TString label=Form("%d",nJ);
			if(nJ==8)label=Form("#geq %d",nJ);
			hName[Form("h_sensitivity_M%d_exp",mass)]->GetXaxis()->SetBinLabel(i+1,label);
			
			nJ++;
			if(nJ>8)nJ=4;
		}
		
		CreateGraph(Form("sensitivity_M%d_obs",mass) );
		CreateGraph(Form("sensitivity_M%d_exp",mass) );
		CreateGraph(Form("sensitivity_M%d_exp_1sigma",mass) );
		CreateGraph(Form("sensitivity_M%d_exp_2sigma",mass) );
        
		for(int i=0;  i<15; i++){
			grName[Form("sensitivity_M%d_obs",mass)]->SetPoint(i,i,0);
			grName[Form("sensitivity_M%d_exp",mass)]->SetPoint(i,i,0);
			grName[Form("sensitivity_M%d_exp_1sigma",mass)]->SetPoint(i,i,0);
			grName[Form("sensitivity_M%d_exp_2sigma",mass)]->SetPoint(i,i,0);
		}
		
	}
	
	CreateGraph("xs_exp_combined_1sigma");
	CreateGraph("xs_exp_combined_2sigma");
    
	CreateGraph("xs_exp_combined");
	CreateGraph("xs_obs_combined");
    
	CreateGraph("stop_xs");
	CreateGraph("squark_xs");
    
	
}
Ejemplo n.º 4
0
Histogram *CopyHistogram(Histogram *h)
{
  Histogram *hc;
  
  hc = CreateHistogram(h->n);
  memcpy(hc->v,h->v,h->n*sizeof(double));
   
  return(hc);
}
Ejemplo n.º 5
0
Histogram *LCH(CImage *cimg, Image *mask)
{
  Histogram *histogram = NULL;
  CompressedVisualFeature *cvf;
  int i;
  
  cvf = ExtractCompressedVisualFeatures(cimg, mask);

  histogram = CreateHistogram(NBINS);  
  for (i=0; i<NBINS; i++)
    histogram->v[i] = cvf->colorH[i];
  DestroyCompressedVisualFeature(&cvf);

  return(histogram);
}
Ejemplo n.º 6
0
Histogram *ACC(CImage *cimg, Image *mask)
{
  Histogram *h = NULL;
  ACCCompressedVisualFeature *cvf;
  int i;

  cvf = ExtractCompressedVisualFeaturesACC(cimg, mask);

  h = CreateHistogram(SIZE);  
  for (i=0; i<SIZE; i++)
    h->v[i] = cvf->colorH[i];
  ACCDestroyCompressedVisualFeature(&cvf);

  return(h);
}
Ejemplo n.º 7
0
Histogram *ReadStreamHistogram(FILE *fp)
{
  Histogram *h = NULL;
  int i, nbins;
  uchar c;

  if (fp != NULL) {
    fscanf(fp, "%d\n", &nbins);
    h = CreateHistogram(nbins);
    for (i=0; i<nbins; i++){
      fscanf(fp, "%c", &c);
      h->v[i] = c;
    }
  }
  return(h);
}
Ejemplo n.º 8
0
Histogram *BIC(CImage *cimg, Image *mask)
{
  Histogram *histogram = NULL;
  CompressedVisualFeature *cvf;
  int i;
  
  cvf = ExtractCompressedVisualFeatures(cimg, mask);

  histogram = CreateHistogram(2*SIZE);  
  for (i=0; i<SIZE; i++){
    histogram->v[i] = cvf->lowH[i];
    histogram->v[i+SIZE] = cvf->highH[i];
  }
  DestroyCompressedVisualFeature(&cvf);

  return(histogram);
}
Ejemplo n.º 9
0
Histogram *ReadFileHistogram(char *filename)
{
  Histogram *h = NULL;
  int i, nbins;
  FILE *fp;
  uchar c;

  fp = fopen(filename,"r");
  if (fp == NULL){
    fprintf(stderr,"Cannot open %s\n",filename);
    exit(-1);
  }

  fscanf(fp, "%d\n", &nbins);
  h = CreateHistogram(nbins);
  for (i=0; i<nbins; i++){
    fscanf(fp, "%c", &c);
    h->v[i] = c;
  }
  fclose(fp);

  return(h);
}
Ejemplo n.º 10
0
void ProdValidation(float min=0.0, float max = 500.0, int bins=50) {


    TString ZmassWindow = "abs(mZee-91.2)<10.0";
    TString etaCut = " && abs(JetRecoEta[5][0])<1.3";
    TString secondJetCut = "&& JetRecoDphi[5][0] > 2.94 && JetRecoPt[5][1]/Z_Pt < 0.1";


    gROOT->ProcessLine(".L mystyle.C");
    setTDRStyle();
    tdrStyle->SetPadLeftMargin(0.16);
    tdrStyle->SetPadRightMargin(0.1);
    tdrStyle->SetPadTopMargin(0.08);
    tdrStyle->SetLegendBorderSize(0);
    tdrStyle->SetNdivisions ( 505 ,"X");

    TFile* file = TFile::Open("SD_Ele15_Zee.root");
    TTree* tree = (TTree*)file->Get("ZJet");
    TFile* file2 = TFile::Open("SD_Ele15_QCD.root");
    TTree* tree2 = (TTree*)file2->Get("ZJet");
    TFile* file3 = TFile::Open("SD_Ele15_Wenu.root");
    TTree* tree3 = (TTree*)file3->Get("ZJet");
    TFile* file4 = TFile::Open("SD_Ele15_TTbar.root");
    TTree* tree4 = (TTree*)file4->Get("ZJet");


    TH1F* ECALIsoZee=AddTwoHistos( *file, "EmECALIsolation", "EPECALIsolation");
    TH1F* HCALIsoZee =AddTwoHistos( *file, "EmHCALIsolation", "EPHCALIsolation");
    TH1F* TrackIsoZee=AddTwoHistos(*file,"EmTrackIsolation","EPTrackIsolation");
    TH1F* EoverPZee = AddTwoHistos(*file, "EmEoverP", "EpEoverP");

    TH1F* ECALIsoQCD=AddTwoHistos( *file2, "EmECALIsolation", "EPECALIsolation");
    TH1F* HCALIsoQCD=AddTwoHistos( *file2, "EmHCALIsolation", "EPHCALIsolation");
    TH1F* TrackIsoQCD=AddTwoHistos(*file2,"EmTrackIsolation","EPTrackIsolation");
    TH1F* EoverPQCD = AddTwoHistos(*file2, "EmEoverP", "EpEoverP");

    TH1F* ECALIsoW=AddTwoHistos( *file3, "EmECALIsolation", "EPECALIsolation");
    TH1F* HCALIsoW=AddTwoHistos( *file3, "EmHCALIsolation", "EPHCALIsolation");
    TH1F* TrackIsoW=AddTwoHistos(*file3,"EmTrackIsolation","EPTrackIsolation");
    TH1F* EoverPW = AddTwoHistos(*file3, "EmEoverP", "EpEoverP");

    TH1F* ECALIsoTT=AddTwoHistos( *file4, "EmECALIsolation", "EPECALIsolation");
    TH1F* HCALIsoTT=AddTwoHistos( *file4, "EmHCALIsolation", "EPHCALIsolation");
    TH1F* TrackIsoTT=AddTwoHistos(*file4,"EmTrackIsolation","EPTrackIsolation");
    TH1F* EoverPTT = AddTwoHistos(*file4, "EmEoverP", "EpEoverP");

    SetHistAttributes( *ECALIsoZee, 1, "Electron ECAL isolation");
    SetHistAttributes( *HCALIsoZee, 1, "Electron HCAL isolation");
    SetHistAttributes( *TrackIsoZee, 1, "Electron track-based isolation");
    SetHistAttributes( *EoverPZee, 1, "Electron E/p");
    SetHistAttributes( *ECALIsoQCD, 2);
    SetHistAttributes( *HCALIsoQCD, 2);
    SetHistAttributes( *TrackIsoQCD, 2);
    SetHistAttributes( *EoverPQCD, 2);
    SetHistAttributes( *ECALIsoW, 4);
    SetHistAttributes( *HCALIsoW, 4);
    SetHistAttributes( *TrackIsoW, 4);
    SetHistAttributes( *EoverPW, 4);
    SetHistAttributes( *ECALIsoTT, 6);
    SetHistAttributes( *HCALIsoTT, 6);
    SetHistAttributes( *TrackIsoTT, 6);
    SetHistAttributes( *EoverPTT, 6);


    TH1F* Zmass_noIso      = (TH1F* ) file->Get("Zmass_noIso");
    TH1F* htemp            = (TH1F* ) file2->Get("Zmass_noIso");
    Zmass_noIso->Add(htemp);
    htemp                  = (TH1F* ) file3->Get("Zmass_noIso");
    Zmass_noIso->Add(htemp);
    htemp                  = (TH1F* ) file4->Get("Zmass_noIso");
    Zmass_noIso->Add(htemp);

    TH1F* Zmass_TkIso      = (TH1F* ) file->Get("Zmass_TkIso");
    htemp                  = (TH1F* ) file2->Get("Zmass_TkIso");
    Zmass_TkIso->Add(htemp);
    htemp                  = (TH1F* ) file3->Get("Zmass_TkIso");
    Zmass_TkIso->Add(htemp);
    htemp                  = (TH1F* ) file4->Get("Zmass_TkIso");
    Zmass_TkIso->Add(htemp);


    TH1F* Zmass_TkECALIso  = (TH1F* ) file->Get("Zmass_TkECALIso");
    htemp                  = (TH1F* ) file2->Get("Zmass_TkECALIso");
    Zmass_TkECALIso->Add(htemp);
    htemp                  = (TH1F* ) file3->Get("Zmass_TkECALIso");
    Zmass_TkECALIso->Add(htemp);
    htemp                  = (TH1F* ) file4->Get("Zmass_TkECALIso");
    Zmass_TkECALIso->Add(htemp);


    TH1F* Zmass_TkECALHCALIso = (TH1F* ) file->Get("Zmass_TkECALHCALIso");
    htemp                  = (TH1F* ) file2->Get("Zmass_TkECALHCALIso");
    Zmass_TkECALHCALIso->Add(htemp);
    htemp                  = (TH1F* ) file3->Get("Zmass_TkECALHCALIso");
    Zmass_TkECALHCALIso->Add(htemp);
    htemp                  = (TH1F* ) file4->Get("Zmass_TkECALHCALIso");
    Zmass_TkECALHCALIso->Add(htemp);


    TH1F* Zmass_loose      = (TH1F* ) file->Get("Zmass_loose");
    htemp                  = (TH1F* ) file2->Get("Zmass_loose");
    Zmass_loose->Add(htemp);
    htemp                  = (TH1F* ) file3->Get("Zmass_loose");
    Zmass_loose->Add(htemp);
    htemp                  = (TH1F* ) file4->Get("Zmass_loose");
    Zmass_loose->Add(htemp);


    TH1F* Zmass_tight      = (TH1F* ) file->Get("Zmass_tight");
    htemp                  = (TH1F* ) file2->Get("Zmass_tight");
    Zmass_tight->Add(htemp);
    htemp                  = (TH1F* ) file3->Get("Zmass_tight");
    Zmass_tight->Add(htemp);
    htemp                  = (TH1F* ) file4->Get("Zmass_tight");
    Zmass_tight->Add(htemp);



    SetHistAttributes( *Zmass_noIso, 1, "Reconstructed Z mass");
    SetHistAttributes( *Zmass_TkIso, 2);
    SetHistAttributes( *Zmass_TkECALIso, 4);
    SetHistAttributes( *Zmass_TkECALHCALIso, 3);
    SetHistAttributes( *Zmass_loose, 2);
    SetHistAttributes( *Zmass_tight, 3);
    Zmass_TkIso->SetFillColor(2);
    Zmass_TkECALIso->SetFillColor(4);
    Zmass_TkECALHCALIso->SetFillColor(3);
    Zmass_loose->SetFillColor(2);
    Zmass_tight->SetFillColor(3);


    TH1D* EptZee   = CreateHistogram("EptZee",20, 0.0, 100.0, 1,
                                     "Electron p_{T} (GeV/c)");
    TH1D* EptQCD   = CreateHistogram("EptQCD",20, 0.0, 100.0, 2);
    TH1D* EptW     = CreateHistogram("EptW",20, 0.0, 100.0, 4);
    TH1D* EptTT    = CreateHistogram("EptTT",20, 0.0, 100.0, 6);

    TH1D* EetaZee  = CreateHistogram("EetaZee", 30, -3, 3, 1,"Electron #eta");
    TH1D* EetaQCD  = CreateHistogram("EetaQCD", 30, -3, 3, 2);
    TH1D* EetaW    = CreateHistogram("EetaW", 30, -3, 3, 4);
    TH1D* EetaTT   = CreateHistogram("EetaTT", 30, -3, 3, 6);

    TH1D* EphiZee  = CreateHistogram("EphiZee", 30, -3, 3, 1,"Electron #phi");
    TH1D* EphiQCD  = CreateHistogram("EphiQCD", 30, -3, 3, 2);
    TH1D* EphiW    = CreateHistogram("EphiW", 30, -3, 3, 4);
    TH1D* EphiTT   = CreateHistogram("EphiTT", 30, -3, 3, 6);

    TH1D* EdhZee   = CreateHistogram("EdhZee", 100, -0.01, 0.01, 1,
                                     "Electron #Delta#eta");
    TH1D* EdhQCD   = CreateHistogram("EdhQCD", 100, -0.01, 0.01, 2);
    TH1D* EdhW     = CreateHistogram("EdhW", 100, -0.01, 0.01, 4);
    TH1D* EdhTT    = CreateHistogram("EdhTT", 100, -0.01, 0.01, 6);

    TH1D* EdfiZee  = CreateHistogram("EdfiZee", 100, -0.03, 0.03, 1,
                                     "Electron #Delta#phi");
    TH1D* EdfiQCD  = CreateHistogram("EdfiQCD", 100,-0.03, 0.03, 2);
    TH1D* EdfiW    = CreateHistogram("EdfiW", 100,-0.03, 0.03, 4);
    TH1D* EdfiTT   = CreateHistogram("EdfiTT", 100,-0.03, 0.03, 6);

    TH1D* EshhZee  = CreateHistogram("EshhZee", 350, 0, 0.035, 1,
                                     "Electron #sigma_{i#eta i#eta}");
    TH1D* EshhQCD  = CreateHistogram("EshhQCD", 350, 0, 0.035, 2);
    TH1D* EshhW  = CreateHistogram("EshhW", 350, 0, 0.035, 4);
    TH1D* EshhTT  = CreateHistogram("EshhTT", 350, 0, 0.035, 6);


    tree->Draw("eMinusEt>>EptZee", ZmassWindow, "goff");
    tree->Draw("ePlusEt>>+EptZee", ZmassWindow, "goff");
    tree2->Draw("eMinusEt>>EptQCD", ZmassWindow, "goff");
    tree2->Draw("ePlusEt>>+EptQCD", ZmassWindow, "goff");
    tree3->Draw("eMinusEt>>EptW", ZmassWindow, "goff");
    tree3->Draw("ePlusEt>>+EptW", ZmassWindow, "goff");
    tree4->Draw("eMinusEt>>EptTT", ZmassWindow, "goff");
    tree4->Draw("ePlusEt>>+EptTT", ZmassWindow, "goff");


    tree->Draw("eMinusEta>>EetaZee", ZmassWindow, "goff");
    tree->Draw("ePlusEta>>+EetaZee", ZmassWindow, "goff");
    tree2->Draw("eMinusEta>>EetaQCD", ZmassWindow, "goff");
    tree2->Draw("ePlusEta>>+EetaQCD", ZmassWindow, "goff");
    tree3->Draw("eMinusEta>>EetaW", ZmassWindow, "goff");
    tree3->Draw("ePlusEta>>+EetaW", ZmassWindow, "goff");
    tree4->Draw("eMinusEta>>EetaTT", ZmassWindow, "goff");
    tree4->Draw("ePlusEta>>+EetaTT", ZmassWindow, "goff");


    tree->Draw("eMinusPhi>>EphiZee", ZmassWindow, "goff");
    tree->Draw("ePlusPhi>>+EphiZee", ZmassWindow, "goff");
    tree2->Draw("eMinusPhi>>EphiQCD", ZmassWindow, "goff");
    tree2->Draw("ePlusPhi>>+EphiQCD", ZmassWindow, "goff");
    tree3->Draw("eMinusPhi>>EphiW", ZmassWindow, "goff");
    tree3->Draw("ePlusPhi>>+EphiW", ZmassWindow, "goff");
    tree4->Draw("eMinusPhi>>EphiTT", ZmassWindow, "goff");
    tree4->Draw("ePlusPhi>>+EphiTT", ZmassWindow, "goff");


    tree->Draw("eMinus_DeltaEtaIn>>EdhZee", ZmassWindow, "goff");
    tree->Draw("ePlus_DeltaEtaIn>>+EdhZee", ZmassWindow, "goff");
    tree2->Draw("eMinus_DeltaEtaIn>>EdhQCD", ZmassWindow, "goff");
    tree2->Draw("ePlus_DeltaEtaIn>>+EdhQCD", ZmassWindow, "goff");
    tree3->Draw("eMinus_DeltaEtaIn>>EdhW", ZmassWindow, "goff");
    tree3->Draw("ePlus_DeltaEtaIn>>+EdhW", ZmassWindow, "goff");
    tree4->Draw("eMinus_DeltaEtaIn>>EdhTT", ZmassWindow, "goff");
    tree4->Draw("ePlus_DeltaEtaIn>>+EdhTT", ZmassWindow, "goff");


    tree->Draw("eMinus_DeltaPhiIn>>EdfiZee", ZmassWindow, "goff");
    tree->Draw("ePlus_DeltaPhiIn>>+EdfiZee", ZmassWindow, "goff");
    tree2->Draw("eMinus_DeltaPhiIn>>EdfiQCD", ZmassWindow, "goff");
    tree2->Draw("ePlus_DeltaPhiIn>>+EdfiQCD", ZmassWindow, "goff");
    tree3->Draw("eMinus_DeltaPhiIn>>EdfiW", ZmassWindow, "goff");
    tree3->Draw("ePlus_DeltaPhiIn>>+EdfiW", ZmassWindow, "goff");
    tree4->Draw("eMinus_DeltaPhiIn>>EdfiTT", ZmassWindow, "goff");
    tree4->Draw("ePlus_DeltaPhiIn>>+EdfiTT", ZmassWindow, "goff");


    tree->Draw("eMinus_SigmaEtaEta>>EshhZee", ZmassWindow, "goff");
    tree->Draw("ePlus_SigmaEtaEta>>+EshhZee", ZmassWindow, "goff");
    tree2->Draw("eMinus_SigmaEtaEta>>EshhQCD", ZmassWindow, "goff");
    tree2->Draw("ePlus_SigmaEtaEta>>+EshhQCD", ZmassWindow, "goff");
    tree3->Draw("eMinus_SigmaEtaEta>>EshhW", ZmassWindow, "goff");
    tree3->Draw("ePlus_SigmaEtaEta>>+EshhW", ZmassWindow, "goff");
    tree4->Draw("eMinus_SigmaEtaEta>>EshhTT", ZmassWindow, "goff");
    tree4->Draw("ePlus_SigmaEtaEta>>+EshhTT", ZmassWindow, "goff");



    TH1D* responseZee = CreateHistogram("responseZee",40,0.0,2.0,1,
                                        "p_{T}^{jet} / p_{T}^{Z}");
    TH1D* responseQCD = CreateHistogram("responseQCD", 40, 0.0, 2.0, 2);
    TH1D* responseW = CreateHistogram("responseW", 40, 0.0, 2.0, 4);
    TH1D* responseTT = CreateHistogram("responseTT", 40, 0.0, 2.0, 6);



    TH1D* JetptZee = CreateHistogram("JetptZee", bins, min, max, 1,
                                     "jet p_{T} (GeV/c)");
    TH1D* JetptQCD = CreateHistogram("JetptQCD", bins, min, max, 2);
    TH1D* JetptW = CreateHistogram("JetptW", bins, min, max, 4);
    TH1D* JetptTT = CreateHistogram("JetptTT", bins, min, max, 6);


    TH1D* ZptZee = CreateHistogram("ZptZee", bins, min, max,1,"Z p_{T} (GeV/c)");
    TH1D* ZptQCD = CreateHistogram("ZptQCD",bins, min, max, 2);
    TH1D* ZptW = CreateHistogram("ZptW",bins, min, max, 4);
    TH1D* ZptTT = CreateHistogram("ZptTT",bins, min, max, 6);


    TH1D* dPhiZee = CreateHistogram("dPhiZee", 35, 0, 3.5, 1,
                                    "#Delta#phi (Z, jet)");
    TH1D* dPhiQCD = CreateHistogram("dPhiQCD", 35, 0, 3.5, 2);
    TH1D* dPhiW = CreateHistogram("dPhiW", 35, 0, 3.5, 4);
    TH1D* dPhiTT = CreateHistogram("dPhiTT", 35, 0, 3.5, 6);


    //////////////////////////////////////////////////////////
    //////////////////////////////////////////////////////////
    //////////////////////////////////////////////////////////
    //////////////////////////////////////////////////////////
    //////////////////////////////////////////////////////////

    tree->Draw("JetRecoDphi[5][0]>>dPhiZee", ZmassWindow + etaCut, "goff");
    tree2->Draw("JetRecoDphi[5][0]>>dPhiQCD", ZmassWindow + etaCut, "goff");
    tree3->Draw("JetRecoDphi[5][0]>>dPhiW", ZmassWindow + etaCut, "goff");
    tree4->Draw("JetRecoDphi[5][0]>>dPhiTT", ZmassWindow + etaCut, "goff");


    tree->Draw("JetRecoPt[5][0]>>JetptZee", ZmassWindow + etaCut + secondJetCut, "goff");
    tree2->Draw("JetRecoPt[5][0]>>JetptQCD", ZmassWindow + etaCut + secondJetCut, "goff");
    tree3->Draw("JetRecoPt[5][0]>>JetptW", ZmassWindow + etaCut + secondJetCut, "goff");
    tree4->Draw("JetRecoPt[5][0]>>JetptTT", ZmassWindow + etaCut + secondJetCut, "goff");


    tree->Draw("Z_Pt>>ZptZee", ZmassWindow + etaCut + secondJetCut, "goff");
    tree2->Draw("Z_Pt>>ZptQCD", ZmassWindow + etaCut + secondJetCut, "goff");
    tree3->Draw("Z_Pt>>ZptW", ZmassWindow + etaCut + secondJetCut, "goff");
    tree4->Draw("Z_Pt>>ZptTT", ZmassWindow + etaCut + secondJetCut, "goff");


    tree->Draw("JetRecoPt[5][0]/Z_Pt>>responseZee", ZmassWindow + etaCut + secondJetCut, "goff");
    tree2->Draw("JetRecoPt[5][0]/Z_Pt>>responseQCD", ZmassWindow + etaCut + secondJetCut, "goff");
    tree3->Draw("JetRecoPt[5][0]/Z_Pt>>responseW", ZmassWindow + etaCut + secondJetCut, "goff");
    tree4->Draw("JetRecoPt[5][0]/Z_Pt>>responseTT", ZmassWindow + etaCut + secondJetCut, "goff");



    // Now make all the plots

    ECALIsoZee->GetXaxis()->SetRangeUser(0, 10);
    PlotFourOnCanvas("tempPlots/ecaliso", *ECALIsoZee,"Z#rightarrow ee",
                     *ECALIsoQCD,"QCD Bkg.", *ECALIsoW,"W#rightarrow e#nu",
                     *ECALIsoTT,"ttbar", 0.55, 0.7, 0.9, 0.9);

    HCALIsoZee->GetXaxis()->SetRangeUser(0, 10);
    TCanvas* c =
        PlotFourOnCanvas("tempPlots/hcaliso", *HCALIsoZee,"Z#rightarrow ee",
                         *HCALIsoQCD,"QCD Bkg.", *HCALIsoW,"W#rightarrow e#nu",
                         *HCALIsoTT,"ttbar", 0.55, 0.7, 0.9, 0.9);
    c->SetLogy(1);

    TrackIsoZee->GetXaxis()->SetRangeUser(0.5, 10);
    PlotFourOnCanvas("tempPlots/trackiso", *TrackIsoZee,"Z#rightarrow ee",
                     *TrackIsoQCD,"QCD Bkg.", *TrackIsoW,"W#rightarrow e#nu",
                     *TrackIsoTT,"ttbar", 0.55, 0.7, 0.9, 0.9);


    TCanvas* can4 = new TCanvas("can4","",500,500);
    gStyle->SetOptStat(0);
    Zmass_noIso->Draw("e");
    Zmass_TkIso->Draw("HIST same");
    Zmass_TkECALIso->Draw("HIST same");
    Zmass_TkECALHCALIso->Draw("HIST same");
    leg_hist = new TLegend(0.6,0.6,0.85,0.85);
    leg_hist->SetHeader("Isolation requirements");
    leg_hist->AddEntry( Zmass_noIso,"No isolation","le");
    leg_hist->AddEntry( Zmass_TkIso,"Track iso","F");
    leg_hist->AddEntry( Zmass_TkECALIso,"Track+ECAL iso","F");
    leg_hist->AddEntry( Zmass_TkECALHCALIso,"Track+ECAL+HCAL iso","F");
    leg_hist->SetMargin(0.12);
    leg_hist->SetFillColor(0);
    leg_hist->Draw();
    can4->SaveAs("tempPlots/Zmass_Isolation.eps");
    can4->SaveAs("tempPlots/Zmass_Isolation.gif");
    can4->SaveAs("tempPlots/Zmass_Isolation.root");


    TCanvas* can5 = new TCanvas("can5","",500,500);
    gStyle->SetOptStat(0);
    Zmass_noIso->Draw("e");
    Zmass_loose->Draw("HIST same");
    Zmass_tight->Draw("HIST same");
    leg_hist = new TLegend(0.6,0.6,0.85,0.85);
    leg_hist->AddEntry( Zmass_noIso,"No Id","le");
    leg_hist->AddEntry( Zmass_loose,"Loose Id","F");
    leg_hist->AddEntry( Zmass_tight,"Tight Id","F");
    leg_hist->SetMargin(0.12);
    leg_hist->SetFillColor(0);
    leg_hist->Draw();
    can5->SaveAs("tempPlots/Zmass_Id.eps");
    can5->SaveAs("tempPlots/Zmass_Id.gif");
    can5->SaveAs("tempPlots/Zmass_Id.root");


    EoverPZee->GetXaxis()->SetRangeUser(0.5, 2);
    PlotFourOnCanvas("tempPlots/EoverP", *EoverPZee,"Z#rightarrow ee",
                     *EoverPQCD,"QCD Bkg.", *EoverPW,"W#rightarrow e#nu",
                     *EoverPTT,"ttbar", 0.55, 0.7, 0.9, 0.9);
    PlotFourOnCanvas("tempPlots/deta", *EdhZee,"Z#rightarrow ee",
                     *EdhQCD,"QCD Bkg.", *EdhW,"W#rightarrow e#nu",
                     *EdhTT,"ttbar", 0.6, 0.7, 0.95, 0.9);

    PlotFourOnCanvas("tempPlots/dphi", *EdfiZee,"Z#rightarrow ee",
                     *EdfiQCD,"QCD Bkg.", *EdfiW,"W#rightarrow e#nu",
                     *EdfiTT,"ttbar", 0.65, 0.7, 0.95, 0.9);

    PlotFourOnCanvas("tempPlots/shh", *EshhZee,"Z#rightarrow ee",
                     *EshhQCD,"QCD Bkg.", *EshhW,"W#rightarrow e#nu",
                     *EshhTT,"ttbar", 0.55, 0.7, 0.9, 0.9);


    PlotFourOnCanvas("tempPlots/electronpt", *EptZee,"Z#rightarrow ee",
                     *EptQCD,"QCD Bkg.", *EptW,"W#rightarrow e#nu",
                     *EptTT,"ttbar", 0.55, 0.7, 0.9, 0.9);

    PlotFourOnCanvas("tempPlots/electroneta", *EetaZee,"Z#rightarrow ee",
                     *EetaQCD,"QCD Bkg.", *EetaW,"W#rightarrow e#nu",
                     *EetaTT,"ttbar", 0.65, 0.75, 0.95, 0.95);


    EphiZee->GetYaxis()->SetMoreLogLabels();
    EphiZee->GetYaxis()->SetNoExponent();
    TCanvas* c2 =
        PlotFourOnCanvas("tempPlots/electronphi", *EphiZee,"Z#rightarrow ee",
                         *EphiQCD,"QCD Bkg.", *EphiW,"W#rightarrow e#nu",
                         *EphiTT,"ttbar", 0.55, 0.7, 0.9, 0.9);
    c2->SetLogy(1);
    c2->SetLogy(1);


    PlotFourOnCanvas("tempPlots/jetpt", *JetptZee,"Z#rightarrow ee",
                     *JetptQCD,"QCD Bkg.", *JetptW,"W#rightarrow e#nu",
                     *JetptTT,"ttbar", 0.55, 0.7, 0.9, 0.9);

    PlotFourOnCanvas("tempPlots/Zpt", *ZptZee,"Z#rightarrow ee",
                     *ZptQCD,"QCD Bkg.", *ZptW,"W#rightarrow e#nu",
                     *ZptTT,"ttbar", 0.55, 0.7, 0.9, 0.9);

    PlotFourOnCanvas("tempPlots/response", *responseZee,"Z#rightarrow ee",
                     *responseQCD,"QCD Bkg.", *responseW,"W#rightarrow e#nu",
                     *responseTT,"ttbar", 0.55, 0.7, 0.9, 0.9);

    PlotFourOnCanvas("tempPlots/dphiZjet", *dPhiZee,"Z#rightarrow ee",
                     *dPhiQCD,"QCD Bkg.", *dPhiW,"W#rightarrow e#nu",
                     *dPhiTT,"ttbar", 0.35, 0.7, 0.7, 0.9);
}
Ejemplo n.º 11
0
void loop(){

	TFile *F=new TFile("TTree_SingleMu_Onia2MuMu_v20_PromptReco_AB.root","READ"); 
	TTree *tree = (TTree*)F->FindObjectAny("data"); 
	int entries = tree->GetEntries(); 
	set_branches(tree);
	
	double pt_bins[]={10,20,30,40,50,60,70,100};
	double dR_bins[]={0,0.25,0.3,0.35,0.4,0.8,1,1.5};
	int ndR=sizeof(dR_bins)/sizeof(double)-1; 
	int npT=sizeof(pt_bins)/sizeof(double)-1;
	//TEfficiency *rho = new TEfficiency("TEff_rho_pt","#rho p_{T}; p_{T}(#mu#mu) [GeV]; #rho",7,pt_bins); 
	
	CreateHistogram("hpt_lead","p_{T}(#mu) of higher p_{T} muon","p_{T}(#mu) [GeV]","#rho",100,0,100); 
	CreateHistogram("hpt_trail","p_{T}(#mu) of lower p_{T} muon","p_{T}(#mu) [GeV]","#rho",100,0,100); 

	CreateHistogram("h_mass_pt0","M_{#mu#mu}, p_{T}<35","M_{#mu#mu}","Events",100,8.5,11.5); 
	CreateHistogram("h_mass_pt1","M_{#mu#mu}, p_{T}>35","M_{#mu#mu}","Events",100,8.5,11.5); 

	CreateHistogram("h_massTrig_pt0","M_{#mu#mu}, p_{T}<35","M_{#mu#mu}","Events",100,8.5,11.5); 
	CreateHistogram("h_massTrig_pt1","M_{#mu#mu}, p_{T}>35","M_{#mu#mu}","Events",100,8.5,11.5); 
	
	CreateHistogram("DeltaRPtE_num","#DeltaR_p_{T}^{ellpictic}","#DeltaR_p_{T}^{ellpictic}","",100,0,3); 
	CreateHistogram("DeltaRPtE_num_uW","#DeltaR_p_{T}^{ellpictic}","#DeltaR_p_{T}^{ellpictic}","",100,0,3); 
	CreateHistogram("DeltaRPtE_den","#DeltaR_p_{T}^{ellpictic}","#DeltaR_p_{T}^{ellpictic}","",100,0,3); 

	
	CreateHistogram("hpt_den","#rho denominator","p_{T} [GeV]","",9,10,100); 
	CreateHistogram("hpt_num_uW","#rho numerator","p_{T} [GeV]","",9,10,100); 
	CreateHistogram("hpt_num","#rho numerator","p_{T} [GeV]","",9,10,100); 

	CreateHistogram("mass","mass","M_{#mu#mu}","",100,8.5,11.5); 
	
	CreateHistogram("mass_DeltaRPtE_num","M_{#mu#mu}","M_{#mu#mu}","#DeltaR_p_{T}^{ellpictic}",100,8.5,11.5,100,0,3);
	CreateHistogram("mass_DeltaRPtE_den","M_{#mu#mu}","M_{#mu#mu}","#DeltaR_p_{T}^{ellpictic}",100,8.5,11.5,100,0,3);

	
	CreateHistogram("mass_y0_DeltaRPtE_numBin","M_{#mu#mu}","M_{#mu#mu}","#DeltaR_p_{T}^{ellpictic}",100,8.5,11.5,ndR,dR_bins);
	CreateHistogram("mass_y0_DeltaRPtE_numBin_uW","M_{#mu#mu}","M_{#mu#mu}","#DeltaR_p_{T}^{ellpictic}",100,8.5,11.5,ndR,dR_bins);
	CreateHistogram("mass_y0_DeltaRPtE_denBin","M_{#mu#mu}","M_{#mu#mu}","#DeltaR_p_{T}^{ellpictic}",100,8.5,11.5,ndR,dR_bins);

	CreateHistogram("mass_y1_DeltaRPtE_numBin","M_{#mu#mu}","M_{#mu#mu}","#DeltaR_p_{T}^{ellpictic}",100,8.5,11.5,ndR,dR_bins);
	CreateHistogram("mass_y1_DeltaRPtE_numBin_uW","M_{#mu#mu}","M_{#mu#mu}","#DeltaR_p_{T}^{ellpictic}",100,8.5,11.5,ndR,dR_bins);
	CreateHistogram("mass_y1_DeltaRPtE_denBin","M_{#mu#mu}","M_{#mu#mu}","#DeltaR_p_{T}^{ellpictic}",100,8.5,11.5,ndR,dR_bins);


	CreateHistogram("mass_pt","M_{#mu#mu}","p_{T} [GeV]","",100,8.5,11.5,npT,pt_bins);
	CreateHistogram("mass_pt_num","M_{#mu#mu}","p_{T} [GeV]","",100,8.5,11.5,npT,pt_bins);
	CreateHistogram("mass_pt_num_uW","M_{#mu#mu}","p_{T} [GeV]","",100,8.5,11.5,npT,pt_bins);

	CreateHistogram("DeltaRPtE_pt","#DeltaR_p_{T}^{ellpictic} vs p_{T}","p_{T} [GeV]", "#DeltaR_p_{T}^{ellpictic}",9,10,100,20,0,3); 
	CreateHistogram("DeltaRPtE_pt_Trig","#DeltaR_p_{T}^{ellpictic} vs p_{T}","p_{T} [GeV]", "#DeltaR_p_{T}^{ellpictic}",9,10,100,20,0,3); 


	cout << "Entries: " << entries << endl;
	//entries=1000;
	for(int i=0; i<entries;i++){
		if(i%100000==0) {
			cout << "Event: " << i << endl;
			cout << "Run Nb: " << runNb << endl; 
		}
		tree->GetEntry(i); 

		if(D0_v1==1 || D0_v2==1 || D0_v3==1 || D0_v5==1 || D0_v6==1 || D0_v9==1 || DMu3_v1==1 || DUM0_v1==1 || DUM0_v2==1 || DUM0_v3==1 || DUM0_v4==1 || DUM0_v6==1) continue;
		if(runNb<165088 || runNb>179889) continue;
		if(Mu1_P->X()>900 || Mu2_P->X()>900) continue;
		fill_tree();
		if(!select_upsilons()) continue; 
//		if(!select_jpsi()) continue; 

		double DeltaPhi=TMath::Abs(Mu1_P->DeltaPhi(*Mu2_P)); 
		double DeltaEta=TMath::Abs(Mu1_P->Eta()-Mu2_P->Eta());
		double DeltaR=Mu1_P->DeltaR(*Mu2_P);
		double DeltaPt=TMath::Abs(Mu1_P->Perp()-Mu2_P->Perp());
		double DeltaRPtE=TMath::Sqrt(TMath::Power(0.00157*DeltaPt,2)+TMath::Power(1.2*DeltaPhi,2)+TMath::Power(DeltaEta,2));//deltaR elliptic_deltaPt

		if(Ups_P->Perp()<35)hName["h_mass_pt0"]->Fill(Ups_P->M()); 
		else hName["h_mass_pt1"]->Fill(Ups_P->M()); 
		
		hName["mass"]->Fill(Ups_P->M()); 
		hName2D["DeltaRPtE_pt"]->Fill(Ups_P->Perp(),DeltaRPtE); 
		
		hName2D["mass_pt"]->Fill(Ups_P->M(),Ups_P->Perp()); 
		int iy=-1;
		if(fabs(Ups_P->Rapidity()<0.6)) iy=0; 
		else iy=1; 
		hName2D["mass_DeltaRPtE_den"]->Fill(Ups_P->M(),DeltaRPtE); 
		hName2D[Form("mass_y%d_DeltaRPtE_denBin",iy)]->Fill(Ups_P->M(),DeltaRPtE); 
		if(Ups_P->M()>9.26 && Ups_P->M()<9.66){
			hName["hpt_den"]->Fill(Ups_P->Perp());
			hName["DeltaRPtE_den"]->Fill(DeltaRPtE);
		}


		double ptmin=TMath::Min(Mu1_P->Perp(),Mu2_P->Perp());
		double ptmax=TMath::Max(Mu1_P->Perp(),Mu2_P->Perp()); 
		
		hName["hpt_lead"]->Fill(ptmax);
		hName["hpt_trail"]->Fill(ptmin); 

		double etamin=0; 
		
		if(ptmin<Mu1_P->Perp()) etamin=Mu2_P->Eta();
		else etamin=Mu1_P->Eta();
		
		double dimuon_eff=muonEff(ptmin,etamin,"nom");
		bool Trig=false; 
		if(D5_v1==1 || D5_v2==1 || D5_v3==1 || D5_v5==1 || D7_v1==1 || D7_v4==1 || D9_v1==1 || D9_v4==1) Trig=true; 
		if(Trig && Ups_P->M()>9.26 && Ups_P->M()<9.66){
			hName["hpt_num_uW"]->Fill(Ups_P->Perp()); 
			hName["hpt_num"]->Fill(Ups_P->Perp(),1./dimuon_eff);
			hName["DeltaRPtE_num"]->Fill(DeltaRPtE,1./dimuon_eff);
			hName["DeltaRPtE_num_uW"]->Fill(DeltaRPtE); 
		}
		if(Trig){
			if(Ups_P->Perp()<35)hName["h_massTrig_pt0"]->Fill(Ups_P->M()); 
			else hName["h_massTrig_pt1"]->Fill(Ups_P->M()); 

			hName2D["mass_pt_num"]->Fill(Ups_P->M(),Ups_P->Perp(),1.0/dimuon_eff);
			hName2D["mass_pt_num_uW"]->Fill(Ups_P->M(),Ups_P->Perp());
			hName2D["mass_DeltaRPtE_num"]->Fill(Ups_P->M(),DeltaRPtE,1.0/dimuon_eff); 
			hName2D[Form("mass_y%d_DeltaRPtE_numBin",iy)]->Fill(Ups_P->M(), DeltaRPtE,1.0/dimuon_eff);
			hName2D[Form("mass_y%d_DeltaRPtE_numBin_uW",iy)]->Fill(Ups_P->M(), DeltaRPtE);
			hName2D["DeltaRPtE_pt_Trig"]->Fill(Ups_P->Perp(),DeltaRPtE);

		}

		//if(Ups_P->M()>9.26 && Ups_P->M()<9.66)rho->Fill(Trig,Ups_P->Perp());
	//	rho->SetWeight(0.97/dimuon_eff);
		
		//if(HLT_Dimuon7_Upsilon_Barrel_v1) hpt_num->Fill(Ups_P->Perp(),1./dimuon_eff); 
		
	}
		
}