// --- ROOT system ---
-#include <TClass.h>
#include <TH1F.h>
-#include <TH1I.h>
#include <TIterator.h>
-#include <TKey.h>
-#include <TFile.h>
+#include <TString.h>
// --- Standard library ---
// --- AliRoot header files ---
#include "AliLog.h"
-#include "AliQA.h"
-#include "AliQAChecker.h"
#include "AliZDCQAChecker.h"
ClassImp(AliZDCQAChecker)
//____________________________________________________________________________
-const Double_t AliZDCQAChecker::Check(AliQA::ALITASK_t /*index*/, TObjArray * list)
+const Double_t AliZDCQAChecker::Check(AliQA::ALITASK_t index, TObjArray * list)
{
// Checks the QA histograms on the input list:
//
- Double_t test = 0.;
- Int_t count = 0;
+ Double_t test=0.;
+ Int_t count=0, ntests=0;
+ //
+ const char* taskName = AliQA::GetAliTaskName(index);
- if(list->GetEntries() == 0){
- AliWarning("The list to be checked is empty!");
- test = 1.; // nothing to check
- }
- else{
+ // -------------------------------------------------------------------
+ if(!(strncmp(taskName,"SIM",3))){
+
+ if(list->GetEntries()==0){
+ AliWarning("\tAliZDCQAChecker->The list to be checked is empty!");
+ test = 1.; // nothing to check
+ return test;
+ }
+ printf("\n\tAliZDCQAChecker-> checking QA histograms for task %s\n\n",taskName);
+
TIter next(list);
- TH1 * hdata;
- count = 0;
+ TH1 * hdata;
+ Double_t meanX=0., meanY=0.;
+ Double_t meanZNA=0., rmsZNA=0., meanZNC=0.;
+ Double_t meanZPA=0., rmsZPA=0., meanZPC=0.;
+ Double_t pmCZNA=0., pmCZNC=0., pmCZPA=0., pmCZPC=0.;
+ Double_t pmQZNA=0., pmQZNC=0., pmQZPA=0., pmQZPC=0.;
+ Float_t res=0.;
+ Int_t digInd=0, testgood=0;
+ //
+ count = ntests = 0;
+ //
while((hdata = dynamic_cast<TH1 *>(next()))){
if(hdata){
- Double_t rv = 0.;
- if(hdata->GetEntries()>0) rv=1;
- AliInfo(Form("%s -> %f", hdata->GetName(), rv));
- count++;
- test += rv;
+ //printf("\tAliZDCQAChecker-> checking histo %s",hdata->GetName());
+ // Check HITS histos
+ if(!(strncmp(hdata->GetName(),"hZNCh",5))){
+ // hits histos
+ meanX = hdata->GetMean(1);
+ meanY = hdata->GetMean(2);
+ // check if the spot is centered
+ if((TMath::Abs(meanX)<0.2) && (TMath::Abs(meanY)<0.2)) res=1.;
+ else res=0.5;
+ test += res;
+ ntests++;
+ //
+ //printf("\t %d performed tests, results %1.2f\n",ntests,test/ntests);
+ }
+ // Check DIGITS histos
+ else{
+ // [1] check response of ZNC vs. ZNA
+ if(digInd==0 || digInd==1){
+ if(digInd==0){
+ if(hdata->GetEntries() != 0.){
+ testgood=1;
+ meanZNA = hdata->GetMean();
+ rmsZNA = hdata->GetRMS();
+ }
+ }
+ else{
+ if(hdata->GetEntries() != 0.){
+ testgood=1;
+ meanZNC = hdata->GetMean();
+ }
+ else testgood=0;
+ // check if the response m.v. of ZNA and ZNC are equal (@ 1sigma level)
+ if(testgood==1){
+ if(TMath::Abs(meanZNA-meanZNC)<rmsZNA) res=1.;
+ else res=.5;
+ testgood=0;
+ test += res;
+ ntests++;
+ //
+ //printf("\t %d performed tests, results %1.2f\n",ntests,test/ntests);
+ }
+ else res=0.;
+ }
+ }
+ // [2] check response of ZPC vs. ZPA
+ else if(digInd==2 || digInd==3){
+ if(digInd==2){
+ if(hdata->GetEntries() != 0.){
+ testgood=1;
+ meanZPA = hdata->GetMean();
+ rmsZPA = hdata->GetRMS();
+ }
+ }
+ else{
+ if(hdata->GetEntries() != 0.){
+ testgood=1;
+ meanZPC = hdata->GetMean();
+ }
+ // check if the response m.v. of ZPA and ZPC are equal (@ 3sigma level)
+ if(testgood==1){
+ if(TMath::Abs(meanZPA-meanZPC)<(3.*rmsZPA)) res=1.;
+ else res=.5;
+ test += res;
+ ntests++;
+ testgood=0;
+ //
+ //printf("\t %d performed tests, results %1.2f\n",ntests,test/ntests);
+ }
+ else res=0.;
+ }
+ }
+ // [2] check PMC responses vs. summed PMQ responses
+ else if(digInd>3 && digInd<12){
+ if(digInd==4) pmQZNC = hdata->GetMean();
+ else if(digInd==5) pmQZNA = hdata->GetMean();
+ else if(digInd==6) pmQZPC = hdata->GetMean();
+ else if(digInd==7) pmQZPA = hdata->GetMean();
+ else if(digInd==8){
+ pmCZNC = hdata->GetMean();
+ if(TMath::Abs(pmQZNC-pmCZNC)<(0.1*(pmQZNC+pmCZNC)/2)) res=1.;
+ else res=0.5;
+ test += res;
+ ntests++;
+ //
+ //printf("\t %d performed tests, results %1.2f\n",ntests,test/ntests);
+ }
+ else if(digInd==9){
+ pmCZNA = hdata->GetMean();
+ if(TMath::Abs(pmQZNA-pmCZNA)<(0.1*(pmQZNA+pmCZNA)/2)) res=1.;
+ else res=0.5;
+ test += res;
+ ntests++;
+ //
+ //printf("\t %d performed tests, results %1.2f\n",ntests,test/ntests);
+ }
+ else if(digInd==10){
+ pmCZPC = hdata->GetMean();
+ if(TMath::Abs(pmQZPC-pmCZPC)<(0.1*(pmQZPC+pmCZPC)/2)) res=1.;
+ else res=0.5;
+ test += res;
+ ntests++;
+ //
+ //printf("\t %d performed tests, results %1.2f\n",ntests,test/ntests);
+ }
+ else if(digInd==11){
+ pmCZPA = hdata->GetMean();
+ if(TMath::Abs(pmQZPA-pmCZPA)<(0.1*(pmQZPA+pmCZPA)/2)) res=1.;
+ else res=0.5;
+ test += res;
+ ntests++;
+ //
+ //printf("\t %d performed tests, results %1.2f\n",ntests,test/ntests);
+ }
+ }
+ //
+ digInd++;
+ }
+ //
+ count++;
}
else{
- AliError("Data type cannot be processed");
+ AliError("AliZDCQAChecker-> No histos!!!\n");
}
}
- if(count!=0){
- if(test==0){
- AliWarning("Histograms to be checked are empty!!!");
- test = 0.5; //upper limit value to set kWARNING flag for a task
+ if(ntests!=0) test = test/ntests;
+ printf("\n\tAliZDCQAChecker-> QA check result = %1.2f\n",test);
+ }
+
+ // -------------------------------------------------------------------
+ else if(!(strncmp(taskName,"RAW",3))){
+
+ if(list->GetEntries()==0){
+ AliWarning("\tAliZDCQAChecker->The list to be checked is empty!");
+ test = 1.; // nothing to check
+ return test;
+ }
+ printf("\n\tAliZDCQAChecker-> checking QA histograms for task %s\n\n",taskName);
+
+ TIter next(list);
+ TH1 * hdata;
+ Double_t meanZNA=0., rmsZNA=0., meanZNC=0.;
+ Double_t meanZPA=0., rmsZPA=0., meanZPC=0.;
+ Double_t pmCZNA=0., pmCZNC=0., pmCZPA=0., pmCZPC=0.;
+ Double_t pmQZNA=0., pmQZNC=0., pmQZPA=0., pmQZPC=0.;
+ Float_t res=0.;
+ Int_t rawInd=0, testgood=0;
+ count = ntests = 0;
+ //
+ while((hdata = dynamic_cast<TH1 *>(next()))){
+ if(hdata){
+ // [1] check response of ZNC vs. ZNA
+ if(rawInd==0 || rawInd==1){
+ if(rawInd==0){
+ if(hdata->GetEntries() != 0.){
+ testgood=1;
+ meanZNA = hdata->GetMean();
+ rmsZNA = hdata->GetRMS();
+ }
+ }
+ else{
+ if(hdata->GetEntries() != 0.){
+ testgood=1;
+ meanZNC = hdata->GetMean();
+ }
+ else testgood=0;
+ // check if the response m.v. of ZNA and ZNC are equal (@ 1sigma level)
+ if(testgood==1){
+ if(TMath::Abs(meanZNA-meanZNC)<rmsZNA) res=1.;
+ else res=.5;
+ test += res;
+ ntests++;
+ testgood=0;
+ }
+ else res=0.;
+ }
+ }
+ // [2] check response of ZPC vs. ZPA
+ else if(rawInd==2 || rawInd==3){
+ if(rawInd==2){
+ if(hdata->GetEntries() != 0.){
+ testgood=1;
+ meanZPA = hdata->GetMean();
+ rmsZPA = hdata->GetRMS();
+ }
+ }
+ else{
+ if(hdata->GetEntries() != 0.){
+ testgood=1;
+ meanZPC = hdata->GetMean();
+ }
+ // check if the response m.v. of ZPA and ZPC are equal (@ 3sigma level)
+ if(testgood==1){
+ if(TMath::Abs(meanZPA-meanZPC)<(3.*rmsZPA)) res=1.;
+ else res=.5;
+ test += res;
+ ntests++;
+ testgood=0;
+ }
+ else res=0.;
+ }
+ }
+ // [2] check PMC responses vs. summed PMQ responses
+ else if(rawInd>3 && rawInd<12){
+ if(rawInd==4) pmQZNC = hdata->GetMean();
+ else if(rawInd==5) pmQZNA = hdata->GetMean();
+ else if(rawInd==6) pmQZPC = hdata->GetMean();
+ else if(rawInd==7) pmQZPA = hdata->GetMean();
+ else if(rawInd==8){
+ pmCZNC = hdata->GetMean();
+ if(TMath::Abs(pmQZNC-pmCZNC)<(0.1*(pmQZNC+pmCZNC)/2)) res=1.;
+ else res=0.5;
+ test += res;
+ ntests++;
+ }
+ else if(rawInd==9){
+ pmCZNA = hdata->GetMean();
+ if(TMath::Abs(pmQZNA-pmCZNA)<(0.1*(pmQZNA+pmCZNA)/2)) res=1.;
+ else res=0.5;
+ test += res;
+ ntests++;
+ }
+ else if(rawInd==10){
+ pmCZPC = hdata->GetMean();
+ if(TMath::Abs(pmQZPC-pmCZPC)<(0.1*(pmQZPC+pmCZPC)/2)) res=1.;
+ else res=0.5;
+ test += res;
+ ntests++;
+ }
+ else if(rawInd==11){
+ pmCZPA = hdata->GetMean();
+ if(TMath::Abs(pmQZPA-pmCZPA)<(0.1*(pmQZPA+pmCZPA)/2)) res=1.;
+ else res=0.5;
+ test += res;
+ ntests++;
+ }
+ }
+ //
+ rawInd++;
+ count++;
}
- else {
- test /= count;
+ //
+ //printf("\t %d performed tests, results %1.2f\n",ntests,test/ntests);
+ else{
+ AliError("\t AliZDCQAChecker->No histos!!!\n");
}
}
+ if(ntests!=0) test = test/ntests;
+ printf("\n\tAliZDCQAChecker-> QA check result = %1.2f\n",test);
}
+ // -------------------------------------------------------------------
+ else if(!(strncmp(taskName,"ESD",3))){
+
+ if(list->GetEntries()==0){
+ AliWarning("\tAliZDCQAChecker->The list to be checked is empty!");
+ test = 1.; // nothing to check
+ return test;
+ }
+ printf("\n\tAliZDCQAChecker-> checking QA histograms for task %s\n\n",taskName);
+
+ TIter next(list);
+ TH1 * hdata;
+ Double_t meanX=0., meanY=0.;
+ Double_t meanZNA=0., rmsZNA=0., meanZNC=0.;
+ Double_t meanZPA=0., rmsZPA=0., meanZPC=0.;
+ Double_t eneCZNA=0., eneCZNC=0., eneCZPA=0., eneCZPC=0.;
+ Double_t eneQZNA=0., eneQZNC=0., eneQZPA=0., eneQZPC=0.;
+ Float_t res=0.;
+ Int_t esdInd=0, testgood=0;
+ //
+ count = ntests = 0;
+ //
+ while((hdata = dynamic_cast<TH1 *>(next()))){
+ if(hdata){
+ //printf("\tAliZDCQAChecker-> checking histo %s",hdata->GetName());
+ if(esdInd<2){
+ // hits histos
+ meanX = hdata->GetMean(1);
+ meanY = hdata->GetMean(2);
+ // check if the spot is centered
+ if((TMath::Abs(meanX)<0.2) && (TMath::Abs(meanY)<0.2)) res=1.;
+ else res=0.5;
+ test += res;
+ ntests++;
+ }
+ //
+ else{
+ // [1] check response of ZNC vs. ZNA
+ if(esdInd==0 || esdInd==1){
+ if(esdInd==0){
+ if(hdata->GetEntries() != 0.){
+ testgood=1;
+ meanZNA = hdata->GetMean();
+ rmsZNA = hdata->GetRMS();
+ }
+ }
+ else{
+ if(hdata->GetEntries() != 0.){
+ testgood=1;
+ meanZNC = hdata->GetMean();
+ }
+ else testgood=0;
+ // check if the response m.v. of ZNA and ZNC are equal (@ 1sigma level)
+ if(testgood==1){
+ if(TMath::Abs(meanZNA-meanZNC)<rmsZNA) res=1.;
+ else res=.5;
+ testgood=0;
+ test += res;
+ ntests++;
+ }
+ else res=0.;
+ }
+ }
+ // [2] check response of ZPC vs. ZPA
+ else if(esdInd==2 || esdInd==3){
+ if(esdInd==2){
+ if(hdata->GetEntries() != 0.){
+ testgood=1;
+ meanZPA = hdata->GetMean();
+ rmsZPA = hdata->GetRMS();
+ }
+ }
+ else{
+ if(hdata->GetEntries() != 0.){
+ testgood=1;
+ meanZPC = hdata->GetMean();
+ }
+ // check if the response m.v. of ZPA and ZPC are equal (@ 3sigma level)
+ if(testgood==1){
+ if(TMath::Abs(meanZPA-meanZPC)<(3.*rmsZPA)) res=1.;
+ else res=.5;
+ test += res;
+ ntests++;
+ testgood=0;
+ }
+ else res=0.;
+ }
+ }
+ // [2] check eneC responses vs. summed eneQ responses
+ else if(esdInd>3 && esdInd<12){
+ if(esdInd==4) eneQZNC = hdata->GetMean();
+ else if(esdInd==5) eneQZNA = hdata->GetMean();
+ else if(esdInd==6) eneQZPC = hdata->GetMean();
+ else if(esdInd==7) eneQZPA = hdata->GetMean();
+ else if(esdInd==8){
+ eneCZNC = hdata->GetMean();
+ if(TMath::Abs(eneQZNC-eneCZNC)<(0.1*(eneQZNC+eneCZNC)/2)) res=1.;
+ else res=0.5;
+ test += res;
+ ntests++;
+ }
+ else if(esdInd==9){
+ eneCZNA = hdata->GetMean();
+ if(TMath::Abs(eneQZNA-eneCZNA)<(0.1*(eneQZNA+eneCZNA)/2)) res=1.;
+ else res=0.5;
+ test += res;
+ ntests++;
+ }
+ else if(esdInd==10){
+ eneCZPC = hdata->GetMean();
+ if(TMath::Abs(eneQZPC-eneCZPC)<(0.1*(eneQZPC+eneCZPC)/2)) res=1.;
+ else res=0.5;
+ test += res;
+ ntests++;
+ }
+ else if(esdInd==11){
+ eneCZPA = hdata->GetMean();
+ if(TMath::Abs(eneQZPA-eneCZPA)<(0.1*(eneQZPA+eneCZPA)/2)) res=1.;
+ else res=0.5;
+ test += res;
+ ntests++;
+ }
+ }
+ //
+ esdInd++;
+ }
+ //
+ //printf("\t %d performed tests, results %1.2f\n",ntests,test/ntests);
+ //
+ count++;
+ }
+ else{
+ AliError("AliZDCQAChecker-> No histos!!!\n");
+ }
+ }
+ if(ntests!=0) test = test/ntests;
+ printf("\n\tAliZDCQAChecker-> QA check result = %1.2f\n\n",test);
+ }
+ else{
+ AliWarning(Form("\n\t No ZDC QA for %s task\n",taskName));
+ return 1.;
+ }
+
AliInfo(Form("Test Result = %f", test));
return test;
}
public:
AliZDCQAChecker() : AliQACheckerBase("ZDC","ZDC Quality Assurance Data Maker") {;} // ctor
AliZDCQAChecker(const AliZDCQAChecker& qac) : AliQACheckerBase(qac.GetName(), qac.GetTitle()) {;} // cpy ctor
- AliZDCQAChecker& operator = (const AliZDCQAChecker& qac) ;
+ AliZDCQAChecker& operator = (const AliZDCQAChecker& qac);
virtual ~AliZDCQAChecker() {;} // dtor
protected:
- virtual const Double_t Check(AliQA::ALITASK_t index, TObjArray * list) ;
- virtual const Double_t Check(AliQA::ALITASK_t /*index*/) {return 0.;} ;
-
+ virtual const Double_t Check(AliQA::ALITASK_t index, TObjArray * list);
+ virtual const Double_t Check(AliQA::ALITASK_t /*index*/) {return 0.5;}
ClassDef(AliZDCQAChecker,1) // description
* about the suitability of this software for any purpose. It is *
* provided "as is" without express or implied warranty. *
**************************************************************************/
+
+///////////////////////////////////////////////////////////////////////
+// //
+// Produces the data needed to calculate the ZDC quality assurance. //
+// QA objects are 1 & 2 Dimensional histograms. //
+// author: C. Oppedisano //
+// //
+///////////////////////////////////////////////////////////////////////
+
// --- ROOT system ---
#include <TClonesArray.h>
#include <TFile.h>
{
// create Digits histograms in Digits subdir
//
+ // ------------------- HIGH GAIN CHAIN ---------------------------
TH1F * hRawZNCTot = new TH1F("hRawZNCTot", "Raw signal in ZNC", 100, 0., 6000.);
TH1F * hRawZNATot = new TH1F("hRawZNATot", "Raw signal in ZNA", 100, 0., 6000.);
TH1F * hRawZPCTot = new TH1F("hRawZPCTot", "Raw signal in ZPC", 100, 0., 10000.);
TH1F * hRawZPATot = new TH1F("hRawZPATot", "Raw signal in ZPA", 100, 0., 10000.);
Add2RawsList(hRawZNCTot, 0);
- Add2RawsList(hRawZPCTot, 1);
- Add2RawsList(hRawZNATot, 2);
+ Add2RawsList(hRawZNATot, 1);
+ Add2RawsList(hRawZPCTot, 2);
Add2RawsList(hRawZPATot, 3);
//
TH1F * hRawSumQZNC = new TH1F("hRawSumQZNC", "Raw summed 4 ZNC quadrants",100, 0., 4000.);
- TH1F * hRawSumQZPC = new TH1F("hRawSumQZPC", "Raw summed 4 ZPC quadrants",100, 0., 4000.);
TH1F * hRawSumQZNA = new TH1F("hRawSumQZNA", "Raw summed 4 ZNA quadrants",100, 0., 4000.);
+ TH1F * hRawSumQZPC = new TH1F("hRawSumQZPC", "Raw summed 4 ZPC quadrants",100, 0., 4000.);
TH1F * hRawSumQZPA = new TH1F("hRawSumQZPA", "Raw summed 4 ZPA quadrants",100, 0., 4000.);
Add2RawsList(hRawSumQZNC, 4);
- Add2RawsList(hRawSumQZPC, 5);
- Add2RawsList(hRawSumQZNA, 6);
+ Add2RawsList(hRawSumQZNA, 5);
+ Add2RawsList(hRawSumQZPC, 6);
Add2RawsList(hRawSumQZPA, 7);
//
TH1F * hRawPMCZNC = new TH1F("hRawPMCZNC", "Raw common ZNC PMT",100, 0., 4000.);
- TH1F * hRawPMCZPC = new TH1F("hRawPMCZPC", "Raw common ZPC PMT",100, 0., 4000.);
TH1F * hRawPMCZNA = new TH1F("hRawPMCZNA", "Raw common ZNA PMT",100, 0., 4000.);
+ TH1F * hRawPMCZPC = new TH1F("hRawPMCZPC", "Raw common ZPC PMT",100, 0., 4000.);
TH1F * hRawPMCZPA = new TH1F("hRawPMCZPA", "Raw common ZPA PMT",100, 0., 4000.);
Add2RawsList(hRawPMCZNC, 8);
- Add2RawsList(hRawPMCZPC, 9);
- Add2RawsList(hRawPMCZNA, 10);
+ Add2RawsList(hRawPMCZNA, 9);
+ Add2RawsList(hRawPMCZPC, 10);
Add2RawsList(hRawPMCZPA, 11);
//
- // ------------------- LOW GAIN CHAIN ---------------------------
+/* // ------------------- LOW GAIN CHAIN ---------------------------
TH1F * hRawZNCTotlg = new TH1F("hRawZNCTotlg", "Rawit lg signal in ZNC", 100, 0., 6000.);
TH1F * hRawZNATotlg = new TH1F("hRawZNATotlg", "Rawit lg signal in ZNA", 100, 0., 6000.);
TH1F * hRawZPCTotlg = new TH1F("hRawZPCTotlg", "Rawit lg signal in ZPC", 100, 0., 10000.);
TH1F * hRawZPATotlg = new TH1F("hRawZPATotlg", "Rawit lg signal in ZPA", 100, 0., 10000.);
Add2RawsList(hRawZNCTotlg, 12);
- Add2RawsList(hRawZPCTotlg, 13);
- Add2RawsList(hRawZNATotlg, 14);
+ Add2RawsList(hRawZNATotlg, 13);
+ Add2RawsList(hRawZPCTotlg, 14);
Add2RawsList(hRawZPATotlg, 15);
//
TH1F * hRawSumQZNClg = new TH1F("hRawSumQZNClg", "Raw summed 4 lg ZNC quadrants",100, 0., 4000.);
- TH1F * hRawSumQZPClg = new TH1F("hRawSumQZPClg", "Raw summed 4 lg ZPC quadrants",100, 0., 4000.);
TH1F * hRawSumQZNAlg = new TH1F("hRawSumQZNAlg", "Raw summed 4 lg ZNA quadrants",100, 0., 4000.);
+ TH1F * hRawSumQZPClg = new TH1F("hRawSumQZPClg", "Raw summed 4 lg ZPC quadrants",100, 0., 4000.);
TH1F * hRawSumQZPAlg = new TH1F("hRawSumQZPAlg", "Raw summed 4 lg ZPA quadrants",100, 0., 4000.);
Add2RawsList(hRawSumQZNClg, 16);
- Add2RawsList(hRawSumQZPClg, 17);
- Add2RawsList(hRawSumQZNAlg, 18);
+ Add2RawsList(hRawSumQZNAlg, 17);
+ Add2RawsList(hRawSumQZPClg, 18);
Add2RawsList(hRawSumQZPAlg, 19);
//
TH1F * hRawPMCZNClg = new TH1F("hRawPMCZNClg", "Raw common lg ZNC PMT",100, 0., 4000.);
- TH1F * hRawPMCZPClg = new TH1F("hRawPMCZPClg", "Raw common lg ZPC PMT",100, 0., 4000.);
TH1F * hRawPMCZNAlg = new TH1F("hRawPMCZNAlg", "Raw common lg ZNA PMT",100, 0., 4000.);
+ TH1F * hRawPMCZPClg = new TH1F("hRawPMCZPClg", "Raw common lg ZPC PMT",100, 0., 4000.);
TH1F * hRawPMCZPAlg = new TH1F("hRawPMCZPAlg", "Raw common lg ZPA PMT",100, 0., 4000.);
Add2RawsList(hRawPMCZNClg, 20);
- Add2RawsList(hRawPMCZPClg, 21);
- Add2RawsList(hRawPMCZNAlg, 22);
- Add2RawsList(hRawPMCZPAlg, 23);
+ Add2RawsList(hRawPMCZNAlg, 21);
+ Add2RawsList(hRawPMCZPClg, 22);
+ Add2RawsList(hRawPMCZPAlg, 23);*/
}
//____________________________________________________________________________
Add2DigitsList(hZNC, 0);
Add2DigitsList(hZNA, 1);
//
+ // ------------------- HIGH GAIN CHAIN ---------------------------
TH1F * hESDZNCTot = new TH1F("hESDZNCTot", "Energy in ZNC", 100, 0., 6000.);
- TH1F * hESDZPCTot = new TH1F("hESDZPCTot", "Energy in ZPC", 100, 0., 10000.);
TH1F * hESDZNATot = new TH1F("hESDZNATot", "Energy in ZNA", 100, 0., 6000.);
+ TH1F * hESDZPCTot = new TH1F("hESDZPCTot", "Energy in ZPC", 100, 0., 10000.);
TH1F * hESDZPATot = new TH1F("hESDZPATot", "Energy in ZPA", 100, 0., 10000.);
Add2ESDsList(hESDZNCTot, 2);
- Add2ESDsList(hESDZPCTot, 3);
- Add2ESDsList(hESDZNATot, 4);
+ Add2ESDsList(hESDZNATot, 3);
+ Add2ESDsList(hESDZPCTot, 4);
Add2ESDsList(hESDZPATot, 5);
//
TH1F * hESDSumQZNC = new TH1F("hESDSumQZNC", "Sum of 4 ZNC energy",100, 0., 4000.);
- TH1F * hESDSumQZPC = new TH1F("hESDSumQZPC", "Sum of 4 ZPC energy",100, 0., 4000.);
TH1F * hESDSumQZNA = new TH1F("hESDSumQZNA", "Sum of 4 ZNA energy",100, 0., 4000.);
+ TH1F * hESDSumQZPC = new TH1F("hESDSumQZPC", "Sum of 4 ZPC energy",100, 0., 4000.);
TH1F * hESDSumQZPA = new TH1F("hESDSumQZPA", "Sum of 4 ZPA energy",100, 0., 4000.);
Add2ESDsList(hESDSumQZNC, 6);
- Add2ESDsList(hESDSumQZPC, 7);
- Add2ESDsList(hESDSumQZNA, 8);
+ Add2ESDsList(hESDSumQZNA, 7);
+ Add2ESDsList(hESDSumQZPC, 8);
Add2ESDsList(hESDSumQZPA, 9);
//
TH1F * hESDPMCZNC = new TH1F("hESDPMCZNC", "Energy in common ZNC PMT",100, 0., 4000.);
- TH1F * hESDPMCZPC = new TH1F("hESDPMCZPC", "Energy in common ZPC PMT",100, 0., 4000.);
TH1F * hESDPMCZNA = new TH1F("hESDPMCZNA", "Energy in common ZNA PMT",100, 0., 4000.);
+ TH1F * hESDPMCZPC = new TH1F("hESDPMCZPC", "Energy in common ZPC PMT",100, 0., 4000.);
TH1F * hESDPMCZPA = new TH1F("hESDPMCZPA", "Energy in common ZPA PMT",100, 0., 4000.);
Add2ESDsList(hESDPMCZNC, 10);
- Add2ESDsList(hESDPMCZPC, 11);
- Add2ESDsList(hESDPMCZNA, 12);
+ Add2ESDsList(hESDPMCZNA, 11);
+ Add2ESDsList(hESDPMCZPC, 12);
Add2ESDsList(hESDPMCZPA, 13);
//
- // ------------------- LOW GAIN CHAIN ---------------------------
+/* // ------------------- LOW GAIN CHAIN ---------------------------
TH1F * hESDZNCTotlg = new TH1F("hESDZNCTotlg", "ESD lg signal in ZNC", 100, 0., 6000.);
TH1F * hESDZNATotlg = new TH1F("hESDZNATotlg", "ESD lg signal in ZNA", 100, 0., 6000.);
TH1F * hESDZPCTotlg = new TH1F("hESDZPCTotlg", "ESD lg signal in ZPC", 100, 0., 10000.);
TH1F * hESDZPATotlg = new TH1F("hESDZPATotlg", "ESD lg signal in ZPA", 100, 0., 10000.);
Add2ESDsList(hESDZNCTotlg, 14);
- Add2ESDsList(hESDZPCTotlg, 15);
- Add2ESDsList(hESDZNATotlg, 16);
+ Add2ESDsList(hESDZNATotlg, 15);
+ Add2ESDsList(hESDZPCTotlg, 16);
Add2ESDsList(hESDZPATotlg, 17);
//
TH1F * hESDSumQZNClg = new TH1F("hESDSumQZNClg", "Sum of 4 lg ZNC sectors",100, 0., 4000.);
- TH1F * hESDSumQZPClg = new TH1F("hESDSumQZPClg", "Sum of 4 lg ZPC sectors",100, 0., 4000.);
TH1F * hESDSumQZNAlg = new TH1F("hESDSumQZNAlg", "Sum of 4 lg ZNA sectors",100, 0., 4000.);
+ TH1F * hESDSumQZPClg = new TH1F("hESDSumQZPClg", "Sum of 4 lg ZPC sectors",100, 0., 4000.);
TH1F * hESDSumQZPAlg = new TH1F("hESDSumQZPAlg", "Sum of 4 lg ZPA sectors",100, 0., 4000.);
Add2ESDsList(hESDSumQZNClg, 18);
- Add2ESDsList(hESDSumQZPClg, 19);
- Add2ESDsList(hESDSumQZNAlg, 20);
+ Add2ESDsList(hESDSumQZNAlg, 19);
+ Add2ESDsList(hESDSumQZPClg, 20);
Add2ESDsList(hESDSumQZPAlg, 21);
//
TH1F * hESDPMCZNClg = new TH1F("hESDPMCZNClg", "Signal in common ZNC lg PMT",100, 0., 4000.);
- TH1F * hESDPMCZPClg = new TH1F("hESDPMCZPClg", "Signal in common ZPC lg PMT",100, 0., 4000.);
TH1F * hESDPMCZNAlg = new TH1F("hESDPMCZNAlg", "Signal in common ZNA lg PMT",100, 0., 4000.);
+ TH1F * hESDPMCZPClg = new TH1F("hESDPMCZPClg", "Signal in common ZPC lg PMT",100, 0., 4000.);
TH1F * hESDPMCZPAlg = new TH1F("hESDPMCZPAlg", "Signal in common ZPA lg PMT",100, 0., 4000.);
Add2ESDsList(hESDPMCZNClg, 22);
- Add2ESDsList(hESDPMCZPClg, 23);
- Add2ESDsList(hESDPMCZNAlg, 24);
- Add2ESDsList(hESDPMCZPAlg, 25);
+ Add2ESDsList(hESDPMCZNAlg, 23);
+ Add2ESDsList(hESDPMCZPClg, 24);
+ Add2ESDsList(hESDPMCZPAlg, 25);*/
}
//____________________________________________________________________________
{
// Filling Raws QA histos
//
- Float_t Sum_ZNC=0., Sum_ZNA=0., Sum_ZPC=0., Sum_ZPA=0.;
- Float_t SumQ_ZNC=0., SumQ_ZNA=0., SumQ_ZPC=0., SumQ_ZPA=0.;
- Float_t Sum_ZNC_lg=0., Sum_ZNA_lg=0., Sum_ZPC_lg=0., Sum_ZPA_lg=0.;
- Float_t SumQ_ZNC_lg=0., SumQ_ZNA_lg=0., SumQ_ZPC_lg=0., SumQ_ZPA_lg=0.;
+ Float_t sum_ZNC=0., sum_ZNA=0., sum_ZPC=0., sum_ZPA=0.;
+ Float_t sumQ_ZNC=0., sumQ_ZNA=0., sumQ_ZPC=0., sumQ_ZPA=0.;
+ //Float_t sum_ZNC_lg=0., sum_ZNA_lg=0., sum_ZPC_lg=0., sum_ZPA_lg=0.;
+ //Float_t sumQ_ZNC_lg=0., sumQ_ZNA_lg=0., sumQ_ZPC_lg=0., sumQ_ZPA_lg=0.;
//
AliZDCRawStream stream(rawReader);
while(stream.Next()){
(stream.GetADCModule()==0 || stream.GetADCModule()==1)){
if(stream.GetSector(0)==1){
if(stream.GetADCGain()==0){
- Sum_ZNC += stream.GetADCValue();
- if(stream.GetSector(1)!=0) SumQ_ZNC += stream.GetADCValue();
+ sum_ZNC += stream.GetADCValue();
+ if(stream.GetSector(1)!=0) sumQ_ZNC += stream.GetADCValue();
else GetRawsData(8)->Fill(stream.GetADCValue());
}
- else{
- Sum_ZNC_lg += stream.GetADCValue();
- if(stream.GetSector(1)!=0) SumQ_ZNC_lg += stream.GetADCValue();
+ /*else{
+ sum_ZNC_lg += stream.GetADCValue();
+ if(stream.GetSector(1)!=0) sumQ_ZNC_lg += stream.GetADCValue();
else GetRawsData(20)->Fill(stream.GetADCValue());
- }
+ }*/
}
else if(stream.GetSector(0)==2){
if(stream.GetADCGain()==0){
- Sum_ZPC += stream.GetADCValue();
- if(stream.GetSector(1)!=0) SumQ_ZPC += stream.GetADCValue();
- else GetRawsData(9)->Fill(stream.GetADCValue());
- }
- else{
- Sum_ZPC_lg += stream.GetADCValue();
- if(stream.GetSector(1)!=0) SumQ_ZPC_lg += stream.GetADCValue();
- else GetRawsData(21)->Fill(stream.GetADCValue());
+ sum_ZPC += stream.GetADCValue();
+ if(stream.GetSector(1)!=0) sumQ_ZPC += stream.GetADCValue();
+ else GetRawsData(10)->Fill(stream.GetADCValue());
}
+ /*else{
+ sum_ZPC_lg += stream.GetADCValue();
+ if(stream.GetSector(1)!=0) sumQ_ZPC_lg += stream.GetADCValue();
+ else GetRawsData(22)->Fill(stream.GetADCValue());
+ }*/
}
else if(stream.GetSector(0)==4){
if(stream.GetADCGain()==0){
- Sum_ZNA += stream.GetADCValue();
- if(stream.GetSector(1)!=0) SumQ_ZNA += stream.GetADCValue();
- else GetRawsData(10)->Fill(stream.GetADCValue());
- }
- else{
- Sum_ZNA_lg += stream.GetADCValue();
- if(stream.GetSector(1)!=0) SumQ_ZNA_lg += stream.GetADCValue();
- else GetRawsData(22)->Fill(stream.GetADCValue());
+ sum_ZNA += stream.GetADCValue();
+ if(stream.GetSector(1)!=0) sumQ_ZNA += stream.GetADCValue();
+ else GetRawsData(9)->Fill(stream.GetADCValue());
}
+ /*else{
+ sum_ZNA_lg += stream.GetADCValue();
+ if(stream.GetSector(1)!=0) sumQ_ZNA_lg += stream.GetADCValue();
+ else GetRawsData(21)->Fill(stream.GetADCValue());
+ }*/
}
else if(stream.GetSector(0)==5){
if(stream.GetADCGain()==0){
- Sum_ZPA += stream.GetADCValue();
- if(stream.GetSector(1)!=0) SumQ_ZPA += stream.GetADCValue();
+ sum_ZPA += stream.GetADCValue();
+ if(stream.GetSector(1)!=0) sumQ_ZPA += stream.GetADCValue();
else GetRawsData(11)->Fill(stream.GetADCValue());
}
- else{
- Sum_ZPA_lg += stream.GetADCValue();
- if(stream.GetSector(1)!=0) SumQ_ZPA_lg += stream.GetADCValue();
+ /*else{
+ sum_ZPA_lg += stream.GetADCValue();
+ if(stream.GetSector(1)!=0) sumQ_ZPA_lg += stream.GetADCValue();
else GetRawsData(23)->Fill(stream.GetADCValue());
- }
+ }*/
}
}
}
//
- GetRawsData(0)->Fill(Sum_ZNC);
- GetRawsData(1)->Fill(Sum_ZPC);
- GetRawsData(2)->Fill(Sum_ZNA);
- GetRawsData(3)->Fill(Sum_ZPA);
+ GetRawsData(0)->Fill(sum_ZNC);
+ GetRawsData(1)->Fill(sum_ZNA);
+ GetRawsData(2)->Fill(sum_ZPC);
+ GetRawsData(3)->Fill(sum_ZPA);
//
- GetRawsData(4)->Fill(SumQ_ZNC);
- GetRawsData(5)->Fill(SumQ_ZPC);
- GetRawsData(6)->Fill(SumQ_ZNA);
- GetRawsData(7)->Fill(SumQ_ZPA);
+ GetRawsData(4)->Fill(sumQ_ZNC);
+ GetRawsData(5)->Fill(sumQ_ZNA);
+ GetRawsData(6)->Fill(sumQ_ZPC);
+ GetRawsData(7)->Fill(sumQ_ZPA);
//
- GetRawsData(12)->Fill(Sum_ZNC_lg);
- GetRawsData(13)->Fill(Sum_ZPC_lg);
- GetRawsData(14)->Fill(Sum_ZNA_lg);
- GetRawsData(15)->Fill(Sum_ZPA_lg);
+ /*GetRawsData(12)->Fill(sum_ZNC_lg);
+ GetRawsData(13)->Fill(sum_ZNA_lg);
+ GetRawsData(14)->Fill(sum_ZPC_lg);
+ GetRawsData(15)->Fill(sum_ZPA_lg);
//
- GetRawsData(16)->Fill(SumQ_ZNC_lg);
- GetRawsData(17)->Fill(SumQ_ZPC_lg);
- GetRawsData(18)->Fill(SumQ_ZNA_lg);
- GetRawsData(19)->Fill(SumQ_ZPA_lg);
+ GetRawsData(16)->Fill(sumQ_ZNC_lg);
+ GetRawsData(17)->Fill(sumQ_ZNA_lg);
+ GetRawsData(18)->Fill(sumQ_ZPC_lg);
+ GetRawsData(19)->Fill(sumQ_ZPA_lg);*/
//
stream.Delete();
}
//
AliESDZDC * zdcESD = esd->GetESDZDC();
//
- Double32_t * Centr_ZNC, * Centr_ZNA;
+ Double32_t * centr_ZNC, * centr_ZNA;
Int_t NSpecnC = (Int_t) (esd->GetZDCN1Energy()/2.7);
if(NSpecnC!=0){
- Centr_ZNC = zdcESD->GetZNCCentroid(NSpecnC);
- GetESDsData(0)->Fill(Centr_ZNC[0], Centr_ZNC[1]);
+ centr_ZNC = zdcESD->GetZNCCentroid(NSpecnC);
+ GetESDsData(0)->Fill(centr_ZNC[0], centr_ZNC[1]);
}
Int_t NSpecnA = (Int_t) (esd->GetZDCN2Energy()/2.7);
if(NSpecnA!=0){
- Centr_ZNA = zdcESD->GetZNACentroid(NSpecnA);
- GetESDsData(1)->Fill(Centr_ZNA[0], Centr_ZNA[1]);
+ centr_ZNA = zdcESD->GetZNACentroid(NSpecnA);
+ GetESDsData(1)->Fill(centr_ZNA[0], centr_ZNA[1]);
}
//
GetESDsData(2)->Fill(esd->GetZDCN1Energy());
- GetESDsData(3)->Fill(esd->GetZDCP1Energy());
- GetESDsData(4)->Fill(esd->GetZDCN2Energy());
+ GetESDsData(3)->Fill(esd->GetZDCN2Energy());
+ GetESDsData(4)->Fill(esd->GetZDCP1Energy());
GetESDsData(5)->Fill(esd->GetZDCP2Energy());
//
- Double_t ZNCSumQ=0., ZPCSumQ=0., ZNASumQ=0., ZPASumQ=0.;
- Double_t ZNCSumQ_lg=0., ZPCSumQ_lg=0., ZNASumQ_lg=0., ZPASumQ_lg=0.;
+ Double_t sumQZNC=0., sumQZPC=0., sumQZNA=0., sumQZPA=0.;
+ //Double_t sumQZNC_lg=0., sumQZPC_lg=0., sumQZNA_lg=0., sumQZPA_lg=0.;
//
- const Double_t *ZNCTow, *ZPCTow, *ZNATow, *ZPATow;
- const Double_t *ZNCTow_lg, *ZPCTow_lg, *ZNATow_lg, *ZPATow_lg;
+ const Double_t *towZNC, *towZPC, *towZNA, *towZPA;
+ //const Double_t *towZNC_lg, *towZPC_lg, *towZNA_lg, *towZPA_lg;
//
- ZNCTow = zdcESD->GetZN1TowerEnergy();
- ZPCTow = zdcESD->GetZP1TowerEnergy();
- ZNATow = zdcESD->GetZN2TowerEnergy();
- ZPATow = zdcESD->GetZP2TowerEnergy();
+ towZNC = zdcESD->GetZN1TowerEnergy();
+ towZPC = zdcESD->GetZP1TowerEnergy();
+ towZNA = zdcESD->GetZN2TowerEnergy();
+ towZPA = zdcESD->GetZP2TowerEnergy();
//
- ZNCTow_lg = zdcESD->GetZN1TowerEnergyLR();
- ZPCTow_lg = zdcESD->GetZP1TowerEnergyLR();
- ZNATow_lg = zdcESD->GetZN2TowerEnergyLR();
- ZPATow_lg = zdcESD->GetZP2TowerEnergyLR();
+ /*towZNC_lg = zdcESD->GetZN1TowerEnergyLR();
+ towZPC_lg = zdcESD->GetZP1TowerEnergyLR();
+ towZNA_lg = zdcESD->GetZN2TowerEnergyLR();
+ towZPA_lg = zdcESD->GetZP2TowerEnergyLR();*/
//
for(Int_t i=0; i<5; i++){
if(i==0){
- GetESDsData(10)->Fill(ZNCTow[i]);
- GetESDsData(11)->Fill(ZPCTow[i]);
- GetESDsData(12)->Fill(ZNATow[i]);
- GetESDsData(13)->Fill(ZPATow[i]);
+ GetESDsData(10)->Fill(towZNC[i]);
+ GetESDsData(11)->Fill(towZNA[i]);
+ GetESDsData(12)->Fill(towZPC[i]);
+ GetESDsData(13)->Fill(towZPA[i]);
//
- GetESDsData(22)->Fill(ZNCTow_lg[i]);
- GetESDsData(23)->Fill(ZPCTow_lg[i]);
- GetESDsData(24)->Fill(ZNATow_lg[i]);
- GetESDsData(25)->Fill(ZPATow_lg[i]);
+ /*GetESDsData(22)->Fill(towZNC_lg[i]);
+ GetESDsData(23)->Fill(towZNA_lg[i]);
+ GetESDsData(24)->Fill(towZPC_lg[i]);
+ GetESDsData(25)->Fill(towZPA_lg[i]);*/
}
else{
- ZNCSumQ += ZNCTow[i];
- ZPCSumQ += ZPCTow[i];
- ZNASumQ += ZNATow[i];
- ZPASumQ += ZPATow[i];
+ sumQZNC += towZNC[i];
+ sumQZPC += towZPC[i];
+ sumQZNA += towZNA[i];
+ sumQZPA += towZPA[i];
//
- ZNCSumQ_lg += ZNCTow_lg[i];
- ZPCSumQ_lg += ZPCTow_lg[i];
- ZNASumQ_lg += ZNATow_lg[i];
- ZPASumQ_lg += ZPATow_lg[i];
+ /*sumQZNC_lg += towZNC_lg[i];
+ sumQZPC_lg += towZPC_lg[i];
+ sumQZNA_lg += towZNA_lg[i];
+ sumQZPA_lg += towZPA_lg[i];*/
}
}
- GetESDsData(6)->Fill(ZNCSumQ);
- GetESDsData(7)->Fill(ZPCSumQ);
- GetESDsData(8)->Fill(ZNASumQ);
- GetESDsData(9)->Fill(ZPASumQ);
+ GetESDsData(6)->Fill(sumQZNC);
+ GetESDsData(7)->Fill(sumQZNA);
+ GetESDsData(8)->Fill(sumQZPC);
+ GetESDsData(9)->Fill(sumQZPA);
//
- GetESDsData(18)->Fill(ZNCSumQ_lg);
- GetESDsData(19)->Fill(ZPCSumQ_lg);
- GetESDsData(20)->Fill(ZNASumQ_lg);
- GetESDsData(21)->Fill(ZPASumQ_lg);
+ /*GetESDsData(18)->Fill(sumQZNC_lg);
+ GetESDsData(19)->Fill(sumQZNA_lg);
+ GetESDsData(20)->Fill(sumQZPC_lg);
+ GetESDsData(21)->Fill(sumQZPA_lg);*/
}
//____________________________________________________________________________
* about the suitability of this software for any purpose. It is *\r
* provided "as is" without express or implied warranty. *\r
**************************************************************************/\r
+\r
// --- Standard library ---\r
#include <Riostream.h>\r
// --- ROOT system ---\r
//\r
TH2F * hZNCh = new TH2F("hZNCh", "Hits centroid in ZNC", 100, -5.,5.,100,-5.,5.);\r
TH2F * hZNAh = new TH2F("hZNAh", "Hits centroid in ZNA", 100, -5.,5.,100,-5.,5.);\r
- TH2F * hZPCh = new TH2F("hZPCh", "Hits centroid in ZPC", 100,-12.,12.,100,-12.,12.); \r
- TH2F * hZPAh = new TH2F("hZPAh", "Hits centroid in ZPA", 100,-12.,12.,100,-12.,12.); \r
+ // NB -> For the moment no check is performesd on ZP centroids\r
+// TH2F * hZPCh = new TH2F("hZPCh", "Hits centroid in ZPC", 100,-12.,12.,100,-12.,12.); \r
+// TH2F * hZPAh = new TH2F("hZPAh", "Hits centroid in ZPA", 100,-12.,12.,100,-12.,12.); \r
Add2HitsList(hZNCh, 0);\r
- Add2HitsList(hZPCh, 1);\r
- Add2HitsList(hZNAh, 2);\r
- Add2HitsList(hZPAh, 3);\r
+ Add2HitsList(hZNAh, 1);\r
+// Add2HitsList(hZPCh, 2);\r
+// Add2HitsList(hZPAh, 3);\r
}\r
\r
\r
{\r
// create Digits histograms in Digits subdir\r
//\r
- TH1F * hDigZNCTot = new TH1F("hDigZNCTot", "Digit signal in ZNC", 100, 0., 6000.);\r
- TH1F * hDigZNATot = new TH1F("hDigZNATot", "Digit signal in ZNA", 100, 0., 6000.);\r
- TH1F * hDigZPCTot = new TH1F("hDigZPCTot", "Digit signal in ZPC", 100, 0., 10000.);\r
- TH1F * hDigZPATot = new TH1F("hDigZPATot", "Digit signal in ZPA", 100, 0., 10000.);\r
+ // ------------------- HIGH GAIN CHAIN ---------------------------\r
+ TH1F * hDigZNCTot = new TH1F("hDigZNCTot", "Signal in ZNC", 100, 0., 6000.);\r
+ TH1F * hDigZNATot = new TH1F("hDigZNATot", "Signal in ZNA", 100, 0., 6000.);\r
+ TH1F * hDigZPCTot = new TH1F("hDigZPCTot", "Signal in ZPC", 100, 0., 6000.);\r
+ TH1F * hDigZPATot = new TH1F("hDigZPATot", "Signal in ZPA", 100, 0., 6000.);\r
Add2DigitsList(hDigZNCTot, 0);\r
- Add2DigitsList(hDigZPCTot, 1);\r
- Add2DigitsList(hDigZNATot, 2);\r
+ Add2DigitsList(hDigZNATot, 1);\r
+ Add2DigitsList(hDigZPCTot, 2);\r
Add2DigitsList(hDigZPATot, 3);\r
//\r
- TH1F * hDigSumQZNC = new TH1F("hDigSumQZNC", "Signal in 4 ZNC PMQ[i]",100, 0., 4000.);\r
- TH1F * hDigSumQZPC = new TH1F("hDigSumQZPC", "Signal in 4 ZPC PMQ[i]",100, 0., 4000.);\r
- TH1F * hDigSumQZNA = new TH1F("hDigSumQZNA", "Signal in 4 ZNA PMQ[i]",100, 0., 4000.);\r
- TH1F * hDigSumQZPA = new TH1F("hDigSumQZPA", "Signal in 4 ZPA PMQ[i]",100, 0., 4000.);\r
+ TH1F * hDigSumQZNC = new TH1F("hDigSumQZNC", "Signal in 4 ZNC PMQ",100, 0., 4000.);\r
+ TH1F * hDigSumQZNA = new TH1F("hDigSumQZNA", "Signal in 4 ZNA PMQ",100, 0., 4000.);\r
+ TH1F * hDigSumQZPC = new TH1F("hDigSumQZPC", "Signal in 4 ZPC PMQ",100, 0., 4000.);\r
+ TH1F * hDigSumQZPA = new TH1F("hDigSumQZPA", "Signal in 4 ZPA PMQ",100, 0., 4000.);\r
Add2DigitsList(hDigSumQZNC, 4);\r
- Add2DigitsList(hDigSumQZPC, 5);\r
- Add2DigitsList(hDigSumQZNA, 6);\r
+ Add2DigitsList(hDigSumQZNA, 5);\r
+ Add2DigitsList(hDigSumQZPC, 6);\r
Add2DigitsList(hDigSumQZPA, 7);\r
//\r
- TH1F * hDigPMCZNC = new TH1F("hDigPMCZNC", "Signal in 4 ZNC PMQ[i]",100, 0., 4000.);\r
- TH1F * hDigPMCZPC = new TH1F("hDigPMCZPC", "Signal in 4 ZPC PMQ[i]",100, 0., 4000.);\r
- TH1F * hDigPMCZNA = new TH1F("hDigPMCZNA", "Signal in 4 ZNA PMQ[i]",100, 0., 4000.);\r
- TH1F * hDigPMCZPA = new TH1F("hDigPMCZPA", "Signal in 4 ZPA PMQ[i]",100, 0., 4000.);\r
+ TH1F * hDigPMCZNC = new TH1F("hDigPMCZNC", "Signal in ZNC PMC",100, 0., 4000.);\r
+ TH1F * hDigPMCZNA = new TH1F("hDigPMCZNA", "Signal in ZNA PMC",100, 0., 4000.);\r
+ TH1F * hDigPMCZPC = new TH1F("hDigPMCZPC", "Signal in ZPC PMC",100, 0., 4000.);\r
+ TH1F * hDigPMCZPA = new TH1F("hDigPMCZPA", "Signal in ZPA PMC",100, 0., 4000.);\r
Add2DigitsList(hDigPMCZNC, 8);\r
- Add2DigitsList(hDigPMCZPC, 9);\r
- Add2DigitsList(hDigPMCZNA, 10);\r
+ Add2DigitsList(hDigPMCZNA, 9);\r
+ Add2DigitsList(hDigPMCZPC, 10);\r
Add2DigitsList(hDigPMCZPA, 11);\r
// \r
// ------------------- LOW GAIN CHAIN ---------------------------\r
- TH1F * hDigZNCTotlg = new TH1F("hDigZNCTotlg", "Digit lg signal in ZNC", 100, 0., 6000.);\r
+/* TH1F * hDigZNCTotlg = new TH1F("hDigZNCTotlg", "Digit lg signal in ZNC", 100, 0., 6000.);\r
TH1F * hDigZNATotlg = new TH1F("hDigZNATotlg", "Digit lg signal in ZNA", 100, 0., 6000.);\r
- TH1F * hDigZPCTotlg = new TH1F("hDigZPCTotlg", "Digit lg signal in ZPC", 100, 0., 10000.);\r
- TH1F * hDigZPATotlg = new TH1F("hDigZPATotlg", "Digit lg signal in ZPA", 100, 0., 10000.);\r
+ TH1F * hDigZPCTotlg = new TH1F("hDigZPCTotlg", "Digit lg signal in ZPC", 100, 0., 6000.);\r
+ TH1F * hDigZPATotlg = new TH1F("hDigZPATotlg", "Digit lg signal in ZPA", 100, 0., 6000.);\r
Add2DigitsList(hDigZNCTotlg, 12);\r
- Add2DigitsList(hDigZPCTotlg, 13);\r
- Add2DigitsList(hDigZNATotlg, 14);\r
+ Add2DigitsList(hDigZNATotlg, 13);\r
+ Add2DigitsList(hDigZPCTotlg, 14);\r
Add2DigitsList(hDigZPATotlg, 15);\r
//\r
- TH1F * hDigSumQZNClg = new TH1F("hDigSumQZNClg", "Signal in 4 ZNC PMQlg[i]",100, 0., 4000.);\r
- TH1F * hDigSumQZPClg = new TH1F("hDigSumQZPClg", "Signal in 4 ZPC PMQlg[i]",100, 0., 4000.);\r
- TH1F * hDigSumQZNAlg = new TH1F("hDigSumQZNAlg", "Signal in 4 ZNA PMQlg[i]",100, 0., 4000.);\r
- TH1F * hDigSumQZPAlg = new TH1F("hDigSumQZPAlg", "Signal in 4 ZPA PMQlg[i]",100, 0., 4000.);\r
+ TH1F * hDigSumQZNClg = new TH1F("hDigSumQZNClg", "Signal in 4 ZNC PMQlg",100, 0., 4000.);\r
+ TH1F * hDigSumQZNAlg = new TH1F("hDigSumQZNAlg", "Signal in 4 ZNA PMQlg",100, 0., 4000.);\r
+ TH1F * hDigSumQZPClg = new TH1F("hDigSumQZPClg", "Signal in 4 ZPC PMQlg",100, 0., 4000.);\r
+ TH1F * hDigSumQZPAlg = new TH1F("hDigSumQZPAlg", "Signal in 4 ZPA PMQlg",100, 0., 4000.);\r
Add2DigitsList(hDigSumQZNClg, 16);\r
- Add2DigitsList(hDigSumQZPClg, 17);\r
- Add2DigitsList(hDigSumQZNAlg, 18);\r
+ Add2DigitsList(hDigSumQZNAlg, 17);\r
+ Add2DigitsList(hDigSumQZPClg, 18);\r
Add2DigitsList(hDigSumQZPAlg, 19);\r
//\r
- TH1F * hDigPMCZNClg = new TH1F("hDigPMCZNClg", "Signal in 4 ZNC PMQlg[i]",100, 0., 4000.);\r
- TH1F * hDigPMCZPClg = new TH1F("hDigPMCZPClg", "Signal in 4 ZPC PMQlg[i]",100, 0., 4000.);\r
- TH1F * hDigPMCZNAlg = new TH1F("hDigPMCZNAlg", "Signal in 4 ZNA PMQlg[i]",100, 0., 4000.);\r
- TH1F * hDigPMCZPAlg = new TH1F("hDigPMCZPAlg", "Signal in 4 ZPA PMQlg[i]",100, 0., 4000.);\r
+ TH1F * hDigPMCZNClg = new TH1F("hDigPMCZNClg", "Signal in ZNC PMClg",100, 0., 4000.);\r
+ TH1F * hDigPMCZNAlg = new TH1F("hDigPMCZNAlg", "Signal in ZNA PMClg",100, 0., 4000.);\r
+ TH1F * hDigPMCZPClg = new TH1F("hDigPMCZPClg", "Signal in ZPC PMClg",100, 0., 4000.);\r
+ TH1F * hDigPMCZPAlg = new TH1F("hDigPMCZPAlg", "Signal in ZPA PMClg",100, 0., 4000.);\r
Add2DigitsList(hDigPMCZNClg, 20);\r
- Add2DigitsList(hDigPMCZPClg, 21);\r
- Add2DigitsList(hDigPMCZNAlg, 22);\r
+ Add2DigitsList(hDigPMCZNAlg, 21);\r
+ Add2DigitsList(hDigPMCZPClg, 22);\r
Add2DigitsList(hDigPMCZPAlg, 23);\r
+*/\r
}\r
\r
//____________________________________________________________________________\r
AliZDCHit * hit; \r
while((hit = dynamic_cast<AliZDCHit *>(next()))){\r
if(hit->GetVolume(0)==1) GetHitsData(0)->Fill(hit->GetXImpact(),hit->GetYImpact());\r
- else if(hit->GetVolume(0)==2) GetHitsData(1)->Fill(hit->GetXImpact(), hit->GetYImpact());\r
- else if(hit->GetVolume(0)==4) GetHitsData(2)->Fill(hit->GetXImpact(), hit->GetYImpact());\r
- else if(hit->GetVolume(0)==5) GetHitsData(3)->Fill(hit->GetXImpact(), hit->GetYImpact());\r
+ else if(hit->GetVolume(0)==4) GetHitsData(1)->Fill(hit->GetXImpact(), hit->GetYImpact());\r
+// else if(hit->GetVolume(0)==2) GetHitsData(1)->Fill(hit->GetXImpact(), hit->GetYImpact());\r
+// else if(hit->GetVolume(0)==5) GetHitsData(3)->Fill(hit->GetXImpact(), hit->GetYImpact());\r
}\r
}\r
\r
if(!branch){\r
AliError("ZDC branch in Hit Tree not found!"); \r
return;\r
- } else {\r
- char** add = (char**) (branch->GetAddress());\r
- if (add) {\r
- fHits = (TClonesArray*)(*add);\r
- } else {\r
- if (!fHits) fHits = new TClonesArray("AliZDCHit", 1000);\r
- branch->SetAddress(&fHits);\r
- }\r
- Int_t ntracks = (Int_t) hitTree->GetEntries();\r
- //printf("\n\t *** no.track %d\n",ntracks);\r
- if (ntracks<=0) return;\r
- //\r
- for(Int_t itrack=0; itrack<ntracks; itrack++){\r
- \r
- branch->GetEntry(itrack);\r
- //\r
- //printf("\t *** track %d",itrack);\r
- //hits->Print("");\r
- //printf("\n");\r
- //\r
- MakeHits(); \r
- fHits->Clear();\r
- } \r
+ } \r
+ else{\r
+ char** add = (char**) (branch->GetAddress());\r
+ if(add){\r
+ fHits = (TClonesArray*)(*add);\r
+ } \r
+ else{\r
+ if(!fHits) fHits = new TClonesArray("AliZDCHit", 1000);\r
+ branch->SetAddress(&fHits);\r
+ }\r
+ Int_t ntracks = (Int_t) hitTree->GetEntries();\r
+ //printf("\n\t *** no.track %d\n",ntracks);\r
+ if (ntracks<=0) return;\r
+ //\r
+ for(Int_t itrack=0; itrack<ntracks; itrack++){\r
+ \r
+ branch->GetEntry(itrack);\r
+ //\r
+ //printf("\t *** track %d",itrack);\r
+ //hits->Print("");\r
+ //printf("\n");\r
+ //\r
+ MakeHits(); \r
+ fHits->Clear();\r
+ } \r
}\r
}\r
\r
-//____________________________________________________________________________\r
-void AliZDCQADataMakerSim::MakeDigits(TClonesArray * /*digits*/)\r
-{\r
- // makes data from Digits\r
- //\r
- \r
-}\r
//___________________________________________________________________________\r
void AliZDCQADataMakerSim::MakeDigits(TTree *digitTree )\r
{\r
- // makes data from Digit Tree\r
- TBranch * branch = digitTree->GetBranch("ZDC");\r
- if(!branch){\r
- AliError("ZDC branch in Digit Tree not found"); \r
- return;\r
- } \r
- char** add = (char**) (branch->GetAddress());\r
- if (add) {\r
- fDigit = (AliZDCDigit*)(*add);\r
- } else {\r
- if (!fDigit) fDigit = new AliZDCDigit();\r
- branch->SetAddress(&fDigit);\r
- }\r
- \r
- Int_t ndig = digitTree->GetEntries();\r
+ // makes data from Digit Tree\r
+ TBranch * branch = digitTree->GetBranch("ZDC");\r
+ if(!branch){\r
+ AliError("ZDC branch in Digit Tree not found"); \r
+ return;\r
+ } \r
+ char** add = (char**) (branch->GetAddress());\r
+ if(add){\r
+ fDigit = (AliZDCDigit*)(*add);\r
+ } \r
+ else{\r
+ if(!fDigit) fDigit = new AliZDCDigit();\r
+ branch->SetAddress(&fDigit);\r
+ }\r
+ \r
+ Int_t ndig = digitTree->GetEntries();\r
\r
+ Float_t adcSum_ZNC=0., adcSum_ZNA=0., adcSum_ZPC=0., adcSum_ZPA=0.;\r
+ Float_t adcSumQ_ZNC=0., adcSumQ_ZNA=0., adcSumQ_ZPC=0., adcSumQ_ZPA=0.;\r
+ //Float_t adcSum_ZNC_lg=0., adcSum_ZNA_lg=0., adcSum_ZPC_lg=0., adcSum_ZPA_lg=0.;\r
+ //Float_t adcSumQ_ZNC_lg=0., adcSumQ_ZNA_lg=0., adcSumQ_ZPC_lg=0., adcSumQ_ZPA_lg=0.;\r
//\r
- Float_t ADCSum_ZNC=0., ADCSum_ZNA=0., ADCSum_ZPC=0., ADCSum_ZPA=0.;\r
- Float_t ADCSumQ_ZNC=0., ADCSumQ_ZNA=0., ADCSumQ_ZPC=0., ADCSumQ_ZPA=0.;\r
- Float_t ADCSum_ZNC_lg=0., ADCSum_ZNA_lg=0., ADCSum_ZPC_lg=0., ADCSum_ZPA_lg=0.;\r
- Float_t ADCSumQ_ZNC_lg=0., ADCSumQ_ZNA_lg=0., ADCSumQ_ZPC_lg=0., ADCSumQ_ZPA_lg=0.;\r
- //\r
- for (Int_t i = 0; i < ndig; i++) {\r
+ for(Int_t i = 0; i < ndig; i++){\r
digitTree->GetEntry(i);\r
if(fDigit->GetSector(0)==1){\r
- ADCSum_ZNC += fDigit->GetADCValue(0);\r
- ADCSum_ZNC_lg += fDigit->GetADCValue(1);\r
+ adcSum_ZNC += fDigit->GetADCValue(0);\r
+ //adcSum_ZNC_lg += fDigit->GetADCValue(1);\r
//\r
if(fDigit->GetSector(1)!=0){\r
- ADCSumQ_ZNC += fDigit->GetADCValue(0);\r
- ADCSumQ_ZNC_lg+= fDigit->GetADCValue(1);\r
+ adcSumQ_ZNC += fDigit->GetADCValue(0);\r
+ //adcSumQ_ZNC_lg+= fDigit->GetADCValue(1);\r
}\r
else{\r
GetDigitsData(8)->Fill(fDigit->GetADCValue(0));\r
- GetDigitsData(20)->Fill(fDigit->GetADCValue(1));\r
+ //GetDigitsData(20)->Fill(fDigit->GetADCValue(1));\r
}\r
}\r
else if(fDigit->GetSector(0)==2){\r
- ADCSum_ZPC += fDigit->GetADCValue(0);\r
- ADCSum_ZPC_lg += fDigit->GetADCValue(1);\r
+ adcSum_ZPC += fDigit->GetADCValue(0);\r
+ //adcSum_ZPC_lg += fDigit->GetADCValue(1);\r
//\r
if(fDigit->GetSector(1)!=0){\r
- ADCSumQ_ZPC += fDigit->GetADCValue(0);\r
- ADCSumQ_ZPC_lg+= fDigit->GetADCValue(1);\r
+ adcSumQ_ZPC += fDigit->GetADCValue(0);\r
+ //adcSumQ_ZPC_lg+= fDigit->GetADCValue(1);\r
}\r
else{\r
- GetDigitsData(9)->Fill(fDigit->GetADCValue(0));\r
- GetDigitsData(21)->Fill(fDigit->GetADCValue(1));\r
+ GetDigitsData(10)->Fill(fDigit->GetADCValue(0));\r
+ //GetDigitsData(22)->Fill(fDigit->GetADCValue(1));\r
}\r
}\r
else if(fDigit->GetSector(0)==4){\r
- ADCSum_ZNA += fDigit->GetADCValue(0);\r
- ADCSum_ZNA_lg += fDigit->GetADCValue(1);\r
+ adcSum_ZNA += fDigit->GetADCValue(0);\r
+ //adcSum_ZNA_lg += fDigit->GetADCValue(1);\r
//\r
if(fDigit->GetSector(1)!=0){\r
- ADCSumQ_ZNA += fDigit->GetADCValue(0);\r
- ADCSumQ_ZNA_lg+= fDigit->GetADCValue(1);\r
+ adcSumQ_ZNA += fDigit->GetADCValue(0);\r
+ //adcSumQ_ZNA_lg+= fDigit->GetADCValue(1);\r
}\r
else{\r
- GetDigitsData(10)->Fill(fDigit->GetADCValue(0));\r
- GetDigitsData(22)->Fill(fDigit->GetADCValue(1));\r
+ GetDigitsData(9)->Fill(fDigit->GetADCValue(0));\r
+ //GetDigitsData(21)->Fill(fDigit->GetADCValue(1));\r
}\r
}\r
else if(fDigit->GetSector(0)==5){\r
- ADCSum_ZPA += fDigit->GetADCValue(0);\r
- ADCSum_ZPA_lg += fDigit->GetADCValue(1);\r
+ adcSum_ZPA += fDigit->GetADCValue(0);\r
+ //adcSum_ZPA_lg += fDigit->GetADCValue(1);\r
//\r
if(fDigit->GetSector(1)!=0){\r
- ADCSumQ_ZPA += fDigit->GetADCValue(0);\r
- ADCSumQ_ZPA_lg+= fDigit->GetADCValue(1);\r
+ adcSumQ_ZPA += fDigit->GetADCValue(0);\r
+ //adcSumQ_ZPA_lg+= fDigit->GetADCValue(1);\r
}\r
else{\r
GetDigitsData(11)->Fill(fDigit->GetADCValue(0));\r
- GetDigitsData(23)->Fill(fDigit->GetADCValue(1));\r
+ //GetDigitsData(23)->Fill(fDigit->GetADCValue(1));\r
}\r
}\r
}\r
//\r
- GetDigitsData(0)->Fill(ADCSum_ZNC);\r
- GetDigitsData(1)->Fill(ADCSum_ZPC);\r
- GetDigitsData(2)->Fill(ADCSum_ZNA);\r
- GetDigitsData(3)->Fill(ADCSum_ZPA);\r
+ GetDigitsData(0)->Fill(adcSum_ZNC);\r
+ GetDigitsData(1)->Fill(adcSum_ZNA);\r
+ GetDigitsData(2)->Fill(adcSum_ZPC);\r
+ GetDigitsData(3)->Fill(adcSum_ZPA);\r
//\r
- GetDigitsData(4)->Fill(ADCSumQ_ZNC);\r
- GetDigitsData(5)->Fill(ADCSumQ_ZPC);\r
- GetDigitsData(6)->Fill(ADCSumQ_ZNA);\r
- GetDigitsData(7)->Fill(ADCSumQ_ZPA);\r
+ GetDigitsData(4)->Fill(adcSumQ_ZNC);\r
+ GetDigitsData(5)->Fill(adcSumQ_ZNA);\r
+ GetDigitsData(6)->Fill(adcSumQ_ZPC);\r
+ GetDigitsData(7)->Fill(adcSumQ_ZPA);\r
//\r
- GetDigitsData(12)->Fill(ADCSum_ZNC_lg);\r
- GetDigitsData(13)->Fill(ADCSum_ZPC_lg);\r
- GetDigitsData(14)->Fill(ADCSum_ZNA_lg);\r
- GetDigitsData(15)->Fill(ADCSum_ZPA_lg);\r
+ /*GetDigitsData(12)->Fill(adcSum_ZNC_lg);\r
+ GetDigitsData(13)->Fill(adcSum_ZNA_lg);\r
+ GetDigitsData(14)->Fill(adcSum_ZPC_lg);\r
+ GetDigitsData(15)->Fill(adcSum_ZPA_lg);\r
//\r
- GetDigitsData(16)->Fill(ADCSumQ_ZNC_lg);\r
- GetDigitsData(17)->Fill(ADCSumQ_ZPC_lg);\r
- GetDigitsData(18)->Fill(ADCSumQ_ZNA_lg);\r
- GetDigitsData(19)->Fill(ADCSumQ_ZPA_lg);\r
+ GetDigitsData(16)->Fill(adcSumQ_ZNC_lg);\r
+ GetDigitsData(17)->Fill(adcSumQ_ZNA_lg);\r
+ GetDigitsData(18)->Fill(adcSumQ_ZPC_lg);\r
+ GetDigitsData(19)->Fill(adcSumQ_ZPA_lg);*/\r
}\r
\r
//____________________________________________________________________________\r
//____________________________________________________________________________ \r
void AliZDCQADataMakerSim::EndOfDetectorCycle(AliQA::TASKINDEX_t task, TObjArray * list)\r
{\r
- //Detector specific actions at end of cycle\r
+ // Detector specific actions at end of cycle\r
// do the QA checking\r
AliQAChecker::Instance()->Run(AliQA::kZDC, task, list); \r
}\r
virtual void InitSDigits() {;} \r
virtual void MakeHits(TClonesArray * hits = 0);\r
virtual void MakeHits(TTree * hitTree);\r
- virtual void MakeDigits(TClonesArray * digits = 0); \r
+ virtual void MakeDigits(TClonesArray * /*digits*/){;} \r
virtual void MakeDigits(TTree * digTree);\r
virtual void MakeSDigits(TClonesArray * /*sdigits*/) {;} \r
virtual void MakeSDigits(TTree * /*sdigTree*/) {;}\r