+//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+TH1F *hDigQ;
+TProfile *hDigHighQ,*hDigChEvt;
+void Digs(Int_t mode, TTree *pTree)
+{
+ switch(mode){
+ case 1:
+ hDigHighQ=new TProfile("hDigHighQ","Highest charge in chamber ",AliHMPIDParam::kMaxCh+1,AliHMPIDParam::kMinCh,AliHMPIDParam::kMaxCh+1);
+ hDigChEvt=new TProfile("hDigChEvt","Chamber occupancy per event",AliHMPIDParam::kMaxCh+1,AliHMPIDParam::kMinCh,AliHMPIDParam::kMaxCh+1);
+ hDigQ =new TH1F("hDigQ ","Charge of digits (ADC) ",3000,0,3000);
+ break;
+ case 2:
+ if(pTree==0) return;
+ TObjArray *pLst=CreateContainer("AliHMPIDDigit",pTree); pTree->GetEntry(0);
+ for(Int_t iCh=AliHMPIDParam::kMinCh;iCh<=AliHMPIDParam::kMaxCh;iCh++){//chambers loop
+ TClonesArray *pDigs=(TClonesArray *)pLst->UncheckedAt(iCh);
+ hDigChEvt->Fill(iCh,pDigs->GetEntriesFast()/(48.*80.*6.)*100.);
+ Double_t highQ = 0;
+ for(Int_t iDig=0;iDig<pDigs->GetEntriesFast();iDig++){//digits loop
+ AliHMPIDDigit *pDig=(AliHMPIDDigit*)pDigs->UncheckedAt(iDig);
+ hDigQ->Fill(pDig->Q());
+ if(pDig->Q()>highQ) highQ = pDig->Q();
+ }
+ hDigHighQ->Fill(iCh,highQ);
+ }
+ delete pLst;
+ break;
+ case 3:
+ TCanvas *c1=new TCanvas("DigQa","Digit Check",1280,800); c1->Divide(2,2);
+ gStyle->SetOptFit(1);
+ TPad *pad = (TPad*)c1->cd(1); pad->SetLogy(); hDigQ->Fit("expo","QN");
+ c1->cd(2); hDigHighQ->Draw();
+ c1->cd(3); hDigChEvt->Draw();
+ break;
+ }//switch
+}//Dig()