Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-06 08:15:43

0001 static const int N_ENERGIES = 8;
0002 #include "load_files.C"
0003 
0004 void veto_analysis() {
0005     
0006     int scan = 2;
0007     int location = 1;
0008 
0009     gStyle->SetOptFit(1111);
0010     gStyle->SetOptStat(0);
0011     
0012     int energies[N_ENERGIES];
0013     string filenames[N_ENERGIES];
0014     load_files(scan,location,energies,filenames);
0015     
0016     double hodoscope_cut = 30;
0017     
0018     TFile *fin[N_ENERGIES];
0019     TTree *trees[N_ENERGIES];
0020     
0021     float E5by5_t, C1_t,  C2_inner_t, C2_outer_t,  Horz_HODO_R0_t, Horz_HODO_R1_t, Horz_HODO_R2_t, Horz_HODO_R3_t, Horz_HODO_R4_t;
0022     float Horz_HODO_R5_t, Horz_HODO_R6_t, Horz_HODO_R7_t, Vert_HODO_R0_t, Vert_HODO_R1_t, Vert_HODO_R2_t, Vert_HODO_R3_t, Vert_HODO_R4_t, Vert_HODO_R5_t, Vert_HODO_R6_t, Vert_HODO_R7_t;
0023     float Veto1_t, Veto2_t, Veto3_t, Veto4_t;
0024     float TowerE_row_0_t, TowerE_row_1_t, TowerE_row_2_t, TowerE_row_3_t, TowerE_row_4_t, TowerE_row_5_t, TowerE_row_6_t, TowerE_row_7_t;
0025     float TowerE_column_0_t, TowerE_column_1_t, TowerE_column_2_t, TowerE_column_3_t, TowerE_column_4_t, TowerE_column_5_t, TowerE_column_6_t, TowerE_column_7_t;
0026     
0027     for(int i=0; i<N_ENERGIES; i++){
0028         fin[i] = new TFile(filenames[i].c_str());
0029         
0030         ostringstream name;
0031         name << "test1";
0032         trees[i] = (TTree *)fin[i]->Get(name.str().c_str());
0033         
0034         name.str("");
0035         name.clear();
0036         
0037         name << "tree_" << energies[i];
0038         trees[i]->SetName(name.str().c_str());
0039         
0040         trees[i]->SetBranchAddress("E5by5_t",&E5by5_t);
0041         trees[i]->SetBranchAddress("C1_t",&C1_t);
0042         trees[i]->SetBranchAddress("C2_inner_t",&C2_inner_t);
0043         trees[i]->SetBranchAddress("C2_outer_t",&C2_outer_t);
0044         trees[i]->SetBranchAddress("Horz_HODO_R0_t",&Horz_HODO_R0_t);
0045         trees[i]->SetBranchAddress("Horz_HODO_R1_t",&Horz_HODO_R1_t);
0046         trees[i]->SetBranchAddress("Horz_HODO_R2_t",&Horz_HODO_R2_t);
0047         trees[i]->SetBranchAddress("Horz_HODO_R3_t",&Horz_HODO_R3_t);
0048         trees[i]->SetBranchAddress("Horz_HODO_R4_t",&Horz_HODO_R4_t);
0049         trees[i]->SetBranchAddress("Horz_HODO_R5_t",&Horz_HODO_R5_t);
0050         trees[i]->SetBranchAddress("Horz_HODO_R6_t",&Horz_HODO_R6_t);
0051         trees[i]->SetBranchAddress("Horz_HODO_R7_t",&Horz_HODO_R7_t);
0052         trees[i]->SetBranchAddress("Vert_HODO_R0_t",&Vert_HODO_R0_t);
0053         trees[i]->SetBranchAddress("Vert_HODO_R1_t",&Vert_HODO_R1_t);
0054         trees[i]->SetBranchAddress("Vert_HODO_R2_t",&Vert_HODO_R2_t);
0055         trees[i]->SetBranchAddress("Vert_HODO_R3_t",&Vert_HODO_R3_t);
0056         trees[i]->SetBranchAddress("Vert_HODO_R4_t",&Vert_HODO_R4_t);
0057         trees[i]->SetBranchAddress("Vert_HODO_R5_t",&Vert_HODO_R5_t);
0058         trees[i]->SetBranchAddress("Vert_HODO_R6_t",&Vert_HODO_R6_t);
0059         trees[i]->SetBranchAddress("Vert_HODO_R7_t",&Vert_HODO_R7_t);
0060         trees[i]->SetBranchAddress("Veto1_t",&Veto1_t);
0061         trees[i]->SetBranchAddress("Veto2_t",&Veto2_t);
0062         trees[i]->SetBranchAddress("Veto3_t",&Veto3_t);
0063         trees[i]->SetBranchAddress("Veto4_t",&Veto4_t);
0064         trees[i]->SetBranchAddress("TowerE_row_0_t",&TowerE_row_0_t);
0065         trees[i]->SetBranchAddress("TowerE_row_1_t",&TowerE_row_1_t);
0066         trees[i]->SetBranchAddress("TowerE_row_2_t",&TowerE_row_2_t);
0067         trees[i]->SetBranchAddress("TowerE_row_3_t",&TowerE_row_3_t);
0068         trees[i]->SetBranchAddress("TowerE_row_4_t",&TowerE_row_4_t);
0069         trees[i]->SetBranchAddress("TowerE_row_5_t",&TowerE_row_5_t);
0070         trees[i]->SetBranchAddress("TowerE_row_6_t",&TowerE_row_6_t);
0071         trees[i]->SetBranchAddress("TowerE_row_7_t",&TowerE_row_7_t);
0072         trees[i]->SetBranchAddress("TowerE_column_0_t",&TowerE_column_0_t);
0073         trees[i]->SetBranchAddress("TowerE_column_1_t",&TowerE_column_1_t);
0074         trees[i]->SetBranchAddress("TowerE_column_2_t",&TowerE_column_2_t);
0075         trees[i]->SetBranchAddress("TowerE_column_3_t",&TowerE_column_3_t);
0076         trees[i]->SetBranchAddress("TowerE_column_4_t",&TowerE_column_4_t);
0077         trees[i]->SetBranchAddress("TowerE_column_5_t",&TowerE_column_5_t);
0078         trees[i]->SetBranchAddress("TowerE_column_6_t",&TowerE_column_6_t);
0079         trees[i]->SetBranchAddress("TowerE_column_7_t",&TowerE_column_7_t);
0080     }
0081     
0082     TH1D *hVeto[4][N_ENERGIES];
0083     TCanvas *c1 = new TCanvas("c1","Veto 1",1000,500);
0084     TCanvas *c2 = new TCanvas("c2","Veto 2",1000,500);
0085     TCanvas *c3 = new TCanvas("c3","Veto 3",1000,500);
0086     TCanvas *c4 = new TCanvas("c4","Veto 4",1000,500);
0087 
0088     c1->Divide(4,2);
0089     c2->Divide(4,2);
0090     c3->Divide(4,2);
0091     c4->Divide(4,2);
0092 
0093     for(int i=0; i<N_ENERGIES; i++){
0094         
0095 //        cout << "starting: " << energies[i] << " GeV" << endl;
0096         int entries = trees[i]->GetEntries();
0097         
0098         for (int k=0; k<4; k++) {
0099             ostringstream name;
0100             name << "hVeto_" <<k<< "_"<< energies[i]<<"GeV";
0101             ostringstream title;
0102             title << " " << energies[i] << " GeV";
0103             
0104             hVeto[k][i] = new TH1D(name.str().c_str(),title.str().c_str(),100,0,300);
0105             
0106             name.str("");
0107             name.clear();
0108         }
0109         
0110         for(int j = 0; j<entries; j++){
0111             trees[i]->GetEntry(j);
0112             
0113             hVeto[0][i]->Fill(Veto1_t);
0114             hVeto[1][i]->Fill(Veto2_t);
0115             hVeto[2][i]->Fill(Veto3_t);
0116             hVeto[3][i]->Fill(Veto4_t);
0117         }
0118         c1->cd(i+1);
0119         gPad->SetLogy();
0120         hVeto[0][i]->Draw();
0121         c2->cd(i+1);
0122         gPad->SetLogy();
0123         hVeto[1][i]->Draw();
0124         c3->cd(i+1);
0125         gPad->SetLogy();
0126         hVeto[2][i]->Draw();
0127         c4->cd(i+1);
0128         gPad->SetLogy();
0129         hVeto[3][i]->Draw();
0130     }
0131     
0132     ostringstream outname;
0133     
0134     outname << "plots/veto1_scan" << scan << ".pdf";
0135     c1->Print(outname.str().c_str());
0136 }
0137 
0138 
0139