if( fEventL1G2) FillClusterHistograms(kL1GammaTrig2 ,kFALSE,e,eta,phi,ieta,iphi,centrality,fV0A+fV0C);
if( fEventL1J ) FillClusterHistograms(kL1JetTrig ,kFALSE,e,eta,phi,ieta,iphi,centrality,fV0A+fV0C);
if( fEventL1J2) FillClusterHistograms(kL1JetTrig2 ,kFALSE,e,eta,phi,ieta,iphi,centrality,fV0A+fV0C);
-
+
+ if( fEventL1G2 && !fEventL1G) FillClusterHistograms(kL1Gamma2OnlyGammaTrig,kFALSE,e,eta,phi,ieta,iphi,centrality,fV0A+fV0C);
+ if( fEventL1J2 && !fEventL1J) FillClusterHistograms(kL1Jet2OnlyJetTrig ,kFALSE,e,eta,phi,ieta,iphi,centrality,fV0A+fV0C);
+
if( fEventL1G && !fEventL1J )
FillClusterHistograms (kL1GammaOnlyTrig,kFALSE,e,eta,phi,ieta,iphi,centrality,fV0A+fV0C);
if( fEventL1J && !fEventL1G )
if( fEventL1G2) FillClusterHistograms(kL1GammaTrig2 ,kTRUE,emax,etamax,phimax,ietamax,iphimax,centrality,fV0A+fV0C);
if( fEventL1J ) FillClusterHistograms(kL1JetTrig ,kTRUE,emax,etamax,phimax,ietamax,iphimax,centrality,fV0A+fV0C);
if( fEventL1J2) FillClusterHistograms(kL1JetTrig2 ,kTRUE,emax,etamax,phimax,ietamax,iphimax,centrality,fV0A+fV0C);
-
+
+ if( fEventL1G2 && !fEventL1G) FillClusterHistograms(kL1Gamma2OnlyGammaTrig,kTRUE,emax,etamax,phimax,ietamax,iphimax,centrality,fV0A+fV0C);
+ if( fEventL1J2 && !fEventL1J) FillClusterHistograms(kL1Jet2OnlyJetTrig ,kTRUE,emax,etamax,phimax,ietamax,iphimax,centrality,fV0A+fV0C);
+
if( fEventL1G && !fEventL1J )
FillClusterHistograms (kL1GammaOnlyTrig,kTRUE,emax,etamax,phimax,ietamax,iphimax,centrality,fV0A+fV0C);
if( fEventL1J && !fEventL1G )
if(fEventCen || fEventSem) fhNEvents->Fill(16.5);
}
- if( fEventL1G2 )fhNEvents->Fill(6.5);
- if( fEventL1J2 )fhNEvents->Fill(8.5);
+ if( fEventL1G2 )
+ {
+ fhNEvents->Fill(6.5);
+ if( !fEventL1G ) fhNEvents->Fill(18.5);
+
+ }
if( fEventL1J )
{
if(fEventCen || fEventSem) fhNEvents->Fill(17.5);
}
+ if( fEventL1J2 )
+ {
+ fhNEvents->Fill(8.5);
+ if( !fEventL1J ) fhNEvents->Fill(19.5);
+ }
+
if(fEventL1J && fEventL1G) fhNEvents->Fill(11.5);
}
if( fEventL0 ) fhV0[kL0Trig] ->Fill(fV0A+fV0C);
if( fEventCen ) fhV0[kCentralTrig] ->Fill(fV0A+fV0C);
if( fEventSem ) fhV0[kSemiCentralTrig]->Fill(fV0A+fV0C);
- if( fEventL1G && !fEventL1J) fhV0[kL1GammaOnlyTrig]->Fill(fV0A+fV0C);
- if( fEventL1J && !fEventL1G) fhV0[kL1JetOnlyTrig] ->Fill(fV0A+fV0C);
-
+ if( fEventL1G && !fEventL1J) fhV0[kL1GammaOnlyTrig] ->Fill(fV0A+fV0C);
+ if( fEventL1J && !fEventL1G) fhV0[kL1JetOnlyTrig] ->Fill(fV0A+fV0C);
+ if( fEventL1G2 && !fEventL1G) fhV0[kL1Gamma2OnlyGammaTrig]->Fill(fV0A+fV0C);
+ if( fEventL1J2 && !fEventL1J) fhV0[kL1Jet2OnlyJetTrig] ->Fill(fV0A+fV0C);
//if(nL0Patch!=0 || nL1Patch!=0) printf("total TRU %f, total STU %f, V0C+V0A %f; nL0 %d, nL1 %d \n",
// fTRUTotal,fSTUTotal,fV0A+fV0C,nL0Patch,nL1Patch);
}
{
//Histograms array initialization
- for (Int_t i = 0; i < 10; i++)
+ for (Int_t i = 0; i < fgkTriggerCombi; i++)
{
fhV0 [i] = 0;
fhClus [i] = 0; fhClusMax [i] = 0;
fOutputList = new TList;
fOutputList ->SetOwner(kTRUE);
- fhNEvents = new TH1F("hNEvents","Number of selected events",18,0,18);
+ fhNEvents = new TH1F("hNEvents","Number of selected events",20,0,20);
fhNEvents ->SetYTitle("N events");
fhNEvents ->GetXaxis()->SetBinLabel(1 ,"All");
fhNEvents ->GetXaxis()->SetBinLabel(2 ,"MB");
fhNEvents ->GetXaxis()->SetBinLabel(3 ,"Central Pb");
fhNEvents ->GetXaxis()->SetBinLabel(4 ,"SemiCentral Pb");
fhNEvents ->GetXaxis()->SetBinLabel(5 ,"L0");
- fhNEvents ->GetXaxis()->SetBinLabel(6 ,"L1-G");
+ fhNEvents ->GetXaxis()->SetBinLabel(6 ,"L1-G1");
fhNEvents ->GetXaxis()->SetBinLabel(7 ,"L1-G2");
- fhNEvents ->GetXaxis()->SetBinLabel(8 ,"L1-J");
+ fhNEvents ->GetXaxis()->SetBinLabel(8 ,"L1-J1");
fhNEvents ->GetXaxis()->SetBinLabel(9 ,"L1-J2");
- fhNEvents ->GetXaxis()->SetBinLabel(10 ,"L1-G & !L1-J");
- fhNEvents ->GetXaxis()->SetBinLabel(11 ,"L1-J & !L1-G");
- fhNEvents ->GetXaxis()->SetBinLabel(12 ,"L1-J & L1-G");
+ fhNEvents ->GetXaxis()->SetBinLabel(10 ,"L1-G1 & !L1-J1");
+ fhNEvents ->GetXaxis()->SetBinLabel(11 ,"L1-J1 & !L1-G1");
+ fhNEvents ->GetXaxis()->SetBinLabel(12 ,"L1-J1 & L1-G1");
fhNEvents ->GetXaxis()->SetBinLabel(13 ,"MB & !L1 & !L0");
fhNEvents ->GetXaxis()->SetBinLabel(14,"L0 & !MB");
- fhNEvents ->GetXaxis()->SetBinLabel(15,"L1-G & !MB");
- fhNEvents ->GetXaxis()->SetBinLabel(16,"L1-J & !MB");
- fhNEvents ->GetXaxis()->SetBinLabel(17,"L1-G & (Cen | Semi)");
- fhNEvents ->GetXaxis()->SetBinLabel(18,"L1-J & (Cen | Semi)");
-
+ fhNEvents ->GetXaxis()->SetBinLabel(15,"L1-G1 & !MB");
+ fhNEvents ->GetXaxis()->SetBinLabel(16,"L1-J1 & !MB");
+ fhNEvents ->GetXaxis()->SetBinLabel(17,"L1-G1 & (Cen | Semi)");
+ fhNEvents ->GetXaxis()->SetBinLabel(18,"L1-J1 & (Cen | Semi)");
+ fhNEvents ->GetXaxis()->SetBinLabel(19,"L1-G2 & !L1-G1");
+ fhNEvents ->GetXaxis()->SetBinLabel(20,"L1-J2 & !L1-J1");
+
fhFORAmp = new TH2F("hFORAmp", "FEE cells deposited energy, grouped like FastOR 2x2 per Row and Column",
fgkFALTROCols,0,fgkFALTROCols,fgkFALTRORows,0,fgkFALTRORows);
fhFORAmp ->SetXTitle("Index #eta (columnns)");
fOutputList->Add(fhL1J2PatchMax);
// Cluster histograms, E
- TString hName [] = {"MB","L0","L1G","L1G2","L1J","L1J2","L1GOnly","L1JOnly","Central","SemiCentral"};
- TString hTitle [] = {"MB trigger","L0 trigger","L1 Gamma trigger","L1 Gamma2 trigger","L1 Jet trigger","L1 Jet2 trigger",
- "L1 Gamma trigger and not L1 Jet","L1 Jet trigger and not L1 Gamma","Central trigger","SemiCentral trigger"};
+ TString hName [] = {"MB","L0","L1G1","L1G2","L1J1","L1J2","L1G1NoL1J1","L1J1NoLG1","L1G2NoL1G1","L1J2NoL1J1","Central","SemiCentral"};
+ TString hTitle [] = {"MB trigger","L0 trigger","L1 Gamma1 trigger","L1 Gamma2 trigger","L1 Jet1 trigger","L1 Jet2 trigger",
+ "L1 Gamma1 trigger and not L1 Jet1" ,"L1 Jet1 trigger and not L1 Gamma1",
+ "L1 Gamma2 trigger and not L1 Gamma1","L1 Jet2 trigger and not L1 Jet1",
+ "Central trigger","SemiCentral trigger"};
for(Int_t i=0; i < 3; i++)
{
fOutputList->Add(fhClusMaxMBPure[i]);
}
- for(Int_t i=0; i < 10; i++)
+ for(Int_t i=0; i < fgkTriggerCombi; i++)
{
fhV0[i] = new TH1F(Form("hV0%s",hName[i].Data()),
Form("V0 distribution for %s",hTitle[i].Data()),
TProfile2D *fhFORMeanAmp; //! Mean FastOR(FEE) signal per Row and Column
TProfile2D *fhL0MeanAmp; //! Mean FastOR(TRU) signal per Row and Column
TProfile2D *fhL1MeanAmp; //! Mean FastOR(STU) signal per Row and Column
- TH1F *fhV0[10]; //! V0 distribution for a triggered event
TH2F *fhL1GPatchMax; //! FOR of max. amplitude patch with L1 Gamma patch associated
TH2F *fhL1G2PatchMax; //! FOR of max. amplitude patch with L1 Gamma patch associated
TH2F *fhL1JPatchMax; //! FOR of max. amplitude patch with L1 Jet patch associated
TH2F *fhL1J2PatchMax; //! FOR of max. amplitude patch with L1 Jet patch associated
// Cluster vs trigger histograms
- enum triggerType{kMBTrig = 0, kL0Trig = 1, kL1GammaTrig = 2, kL1GammaTrig2 = 3, kL1JetTrig = 4, kL1JetTrig2 = 5, kL1GammaOnlyTrig = 6, kL1JetOnlyTrig = 7, kCentralTrig = 8, kSemiCentralTrig = 9 };
+ enum triggerType{ kMBTrig = 0, kL0Trig = 1,
+ kL1GammaTrig = 2, kL1GammaTrig2 = 3,
+ kL1JetTrig = 4, kL1JetTrig2 = 5,
+ kL1GammaOnlyTrig = 6, kL1JetOnlyTrig = 7,
+ kL1Gamma2OnlyGammaTrig = 8, kL1Jet2OnlyJetTrig = 9,
+ kCentralTrig = 10, kSemiCentralTrig = 11 };
TH1F *fhClusMBPure[3]; //! Clusters E distribution for pure MB trigger
TH1F *fhClusMaxMBPure[3]; //! Maximum E Cluster per event distribution for pure MB trigger
- TH1F *fhClus[10]; //! Clusters E distribution for a trigger
- TH1F *fhClusMax[10]; //! Maximum E Cluster per event distribution for MB trigger
+ static const int fgkTriggerCombi = 12; // total number of trigger combinations defined above
+
+ TH1F *fhClus [fgkTriggerCombi]; //! Clusters E distribution for a trigger
+ TH1F *fhClusMax[fgkTriggerCombi]; //! Maximum E Cluster per event distribution for MB trigger
- TH2F *fhClusCen[10]; //! Clusters Centrality vs E distribution for a trigger
- TH2F *fhClusCenMax[10]; //! Maximum E Cluster vs Centrality per event distribution for a trigger
+ TH2F *fhClusCen [fgkTriggerCombi]; //! Clusters Centrality vs E distribution for a trigger
+ TH2F *fhClusCenMax[fgkTriggerCombi]; //! Maximum E Cluster vs Centrality per event distribution for a trigger
- TH2F *fhClusV0[10]; //! Clusters V0 vs E distribution for a trigger
- TH2F *fhClusV0Max[10]; //! Maximum E Cluster vs Centrality per event distribution for a trigger
+ TH2F *fhClusV0 [fgkTriggerCombi]; //! Clusters V0 vs E distribution for a trigger
+ TH2F *fhClusV0Max[fgkTriggerCombi]; //! Maximum E Cluster vs Centrality per event distribution for a trigger
- TH2F *fhClusEta[10]; //! Clusters eta vs E distribution for a trigger
- TH2F *fhClusEtaMax[10]; //! Maximum E Cluster vs Eta per event distribution for a trigger
+ TH2F *fhClusEta [fgkTriggerCombi]; //! Clusters eta vs E distribution for a trigger
+ TH2F *fhClusEtaMax[fgkTriggerCombi]; //! Maximum E Cluster vs Eta per event distribution for a trigger
- TH2F *fhClusPhi[10]; //! Clusters Phi vs E distribution for a trigger
- TH2F *fhClusPhiMax[10]; //! Maximum E Cluster vs Phi per event distribution for a trigger
+ TH2F *fhClusPhi [fgkTriggerCombi]; //! Clusters Phi vs E distribution for a trigger
+ TH2F *fhClusPhiMax[fgkTriggerCombi]; //! Maximum E Cluster vs Phi per event distribution for a trigger
- TH2F *fhClusEtaPhiHigh[10]; //! Clusters eta vs phi distribution for a trigger, energy above 10 GeV
- TH2F *fhClusEtaPhiHighCluMax[10]; //! Maximum E Cluster, Phi vs Eta per event distribution for a trigger, energy above 10 GeV
+ TH2F *fhClusEtaPhiHigh [fgkTriggerCombi]; //! Clusters eta vs phi distribution for a trigger, energy above 10 GeV
+ TH2F *fhClusEtaPhiHighCluMax[fgkTriggerCombi]; //! Maximum E Cluster, Phi vs Eta per event distribution for a trigger, energy above 10 GeV
- TH2F *fhClusEtaPhiHighCellMax[10]; //! Clusters maximum energy cell index eta vs phi distribution for MB trigger, energy above 10 GeV
- TH2F *fhClusEtaPhiHighCellMaxCluMax[10]; //! Maximum E Cluster, maximum energy cell index Phi vs Eta per event distribution for MB trigger, energy above 10 GeV
+ TH2F *fhClusEtaPhiHighCellMax [fgkTriggerCombi]; //! Clusters maximum energy cell index eta vs phi distribution for MB trigger, energy above 10 GeV
+ TH2F *fhClusEtaPhiHighCellMaxCluMax[fgkTriggerCombi]; //! Maximum E Cluster, maximum energy cell index Phi vs Eta per event distribution for MB trigger, energy above 10 GeV
- TH2F *fhClusEtaPhiLow[10]; //! Clusters eta vs phi distribution for MB trigger, energy below 10 GeV
- TH2F *fhClusEtaPhiLowCluMax[10]; //! Maximum E Cluster, Phi vs Eta per event distribution for MB trigger, energy below 10 GeV
+ TH2F *fhClusEtaPhiLow [fgkTriggerCombi]; //! Clusters eta vs phi distribution for MB trigger, energy below 10 GeV
+ TH2F *fhClusEtaPhiLowCluMax[fgkTriggerCombi]; //! Maximum E Cluster, Phi vs Eta per event distribution for MB trigger, energy below 10 GeV
- TH2F *fhClusEtaPhiLowCellMax[10]; //! Clusters maximum energy cell index eta vs phi distribution for MB trigger, energy below 10 GeV
- TH2F *fhClusEtaPhiLowCellMaxCluMax[10]; //! Maximum E Cluster, maximum energy cell index Phi vs Eta per event distribution for MB trigger, energy below 10 GeV
+ TH2F *fhClusEtaPhiLowCellMax [fgkTriggerCombi]; //! Clusters maximum energy cell index eta vs phi distribution for MB trigger, energy below 10 GeV
+ TH2F *fhClusEtaPhiLowCellMaxCluMax[fgkTriggerCombi]; //! Maximum E Cluster, maximum energy cell index Phi vs Eta per event distribution for MB trigger, energy below 10 GeV
+
+ TH1F *fhV0[fgkTriggerCombi];//! V0 distribution for a triggered event
// Histograms bins