**************************************************************************/
/*
-$Log$
-Revision 1.17 2007/10/18 09:12:22 zampolli
-New naming of online calibration directory
+$Log: AliTOFcalib.cxx,v $
+Revision 1.21 2007/11/02 15:41:49 hristov
+Provide return value if the function is not void
+
+Revision 1.20 2007/10/26 15:13:50 zampolli
+Using a TChain instead of a TTree
+
+Revision 1.19 2007/10/23 15:27:38 zampolli
+Rearrangement of Calibration objects for simulation
Revision 1.16 2007/10/08 10:13:26 zampolli
First Run and Last Run members added, infinite validity of calib obj implemented.
#include "TFile.h"
#include "TH1F.h"
#include "TH2F.h"
-#include "TList.h"
-#include "TROOT.h"
-#include "TStyle.h"
+//#include "TList.h"
+//#include "TROOT.h"
+//#include "TStyle.h"
#include "TTree.h"
+#include "TChain.h"
#include "TProfile.h"
#include "TGrid.h"
+#include "TMath.h"
+#include "TMap.h"
#include "AliCDBEntry.h"
#include "AliCDBRunRange.h"
#include "AliCDBManager.h"
#include "AliCDBStorage.h"
#include "AliCDBMetaData.h"
-#include "AliESDtrack.h"
-#include "AliESD.h"
+//#include "AliESDtrack.h"
+//#include "AliESD.h"
#include "AliLog.h"
#include "AliTOFcalib.h"
+#include "AliTOFChannelOnlineArray.h"
#include "AliTOFChannelOnline.h"
+#include "AliTOFChannelOnlineStatus.h"
+#include "AliTOFChannelOnlineStatusArray.h"
#include "AliTOFChannelOffline.h"
#include "AliTOFGeometry.h"
#include "AliTOFRecoParam.h"
+class TROOT;
+class TStyle;
+
extern TROOT *gROOT;
extern TStyle *gStyle;
TTask("AliTOFcalib",""),
fNChannels(-1),
fTOFCalOnline(0x0),
+ fTOFCalOnlinePulser(0x0),
+ fTOFCalOnlineNoise(0x0),
+ fTOFCalOnlineHW(0x0),
fTOFCalOffline(0x0),
- fTOFSimCalOnline(0x0),
- fTOFSimCalOffline(0x0),
+ fCal(0x0),
+ fStatus(0x0),
fTOFSimToT(0x0),
fkValidity(0x0),
fTree(0x0),
+ fChain(0x0),
fNruns(0),
fFirstRun(0),
- fLastRun(AliCDBRunRange::Infinity())
+ fLastRun(AliCDBRunRange::Infinity()),
+ fConfigMap(new TMap)
{
//TOF Calibration Class ctor
fNChannels = AliTOFGeometry::NSectors()*(2*(AliTOFGeometry::NStripC()+AliTOFGeometry::NStripB())+AliTOFGeometry::NStripA())*AliTOFGeometry::NpadZ()*AliTOFGeometry::NpadX();
TTask("AliTOFcalib",""),
fNChannels(calib.fNChannels),
fTOFCalOnline(0x0),
+ fTOFCalOnlinePulser(0x0),
+ fTOFCalOnlineNoise(0x0),
+ fTOFCalOnlineHW(0x0),
fTOFCalOffline(0x0),
- fTOFSimCalOnline(0x0),
- fTOFSimCalOffline(0x0),
+ fCal(calib.fCal),
+ fStatus(calib.fStatus),
fTOFSimToT(calib.fTOFSimToT),
fkValidity(calib.fkValidity),
fTree(calib.fTree),
+ fChain(calib.fChain),
fNruns(calib.fNruns),
fFirstRun(calib.fFirstRun),
- fLastRun(calib.fLastRun)
+ fLastRun(calib.fLastRun),
+ fConfigMap(calib.fConfigMap)
{
//TOF Calibration Class copy ctor
for (Int_t iarray = 0; iarray<fNChannels; iarray++){
AliTOFChannelOnline * calChOnline = (AliTOFChannelOnline*)calib.fTOFCalOnline->At(iarray);
+ AliTOFChannelOnlineStatus * calChOnlineStPulser = (AliTOFChannelOnlineStatus*)calib.fTOFCalOnlinePulser->At(iarray);
+ AliTOFChannelOnlineStatus * calChOnlineStNoise = (AliTOFChannelOnlineStatus*)calib.fTOFCalOnlineNoise->At(iarray);
+ AliTOFChannelOnlineStatus * calChOnlineStHW = (AliTOFChannelOnlineStatus*)calib.fTOFCalOnlineHW->At(iarray);
AliTOFChannelOffline * calChOffline = (AliTOFChannelOffline*)calib.fTOFCalOffline->At(iarray);
fTOFCalOnline->AddAt(calChOnline,iarray);
+ fTOFCalOnlinePulser->AddAt(calChOnlineStPulser,iarray);
+ fTOFCalOnlineNoise->AddAt(calChOnlineStNoise,iarray);
+ fTOFCalOnlineHW->AddAt(calChOnlineStHW,iarray);
fTOFCalOffline->AddAt(calChOffline,iarray);
-
- AliTOFChannelOnline * simCalChOnline = (AliTOFChannelOnline*)calib.fTOFSimCalOnline->At(iarray);
- AliTOFChannelOffline * simCalChOffline = (AliTOFChannelOffline*)calib.fTOFSimCalOffline->At(iarray);
- fTOFSimCalOnline->AddAt(simCalChOnline,iarray);
- fTOFSimCalOffline->AddAt(simCalChOffline,iarray);
}
}
{
//TOF Calibration Class assignment operator
this->fNChannels = calib.fNChannels;
+ this->fCal = calib.fCal;
+ this->fStatus = calib.fStatus;
this->fTOFSimToT = calib.fTOFSimToT;
this->fkValidity = calib.fkValidity;
this->fTree = calib.fTree;
+ this->fChain = calib.fChain;
this->fNruns = calib.fNruns;
this->fFirstRun = calib.fFirstRun;
this->fLastRun = calib.fLastRun;
for (Int_t iarray = 0; iarray<fNChannels; iarray++){
AliTOFChannelOnline * calChOnline = (AliTOFChannelOnline*)calib.fTOFCalOnline->At(iarray);
AliTOFChannelOffline * calChOffline = (AliTOFChannelOffline*)calib.fTOFCalOffline->At(iarray);
+ AliTOFChannelOnlineStatus * calChOnlineStPulser = (AliTOFChannelOnlineStatus*)calib.fTOFCalOnlinePulser->At(iarray);
+ AliTOFChannelOnlineStatus * calChOnlineStNoise = (AliTOFChannelOnlineStatus*)calib.fTOFCalOnlineNoise->At(iarray);
+ AliTOFChannelOnlineStatus * calChOnlineStHW = (AliTOFChannelOnlineStatus*)calib.fTOFCalOnlineHW->At(iarray);
this->fTOFCalOnline->AddAt(calChOnline,iarray);
+ this->fTOFCalOnlinePulser->AddAt(calChOnlineStPulser,iarray);
+ this->fTOFCalOnlineNoise->AddAt(calChOnlineStNoise,iarray);
+ this->fTOFCalOnlineHW->AddAt(calChOnlineStHW,iarray);
this->fTOFCalOffline->AddAt(calChOffline,iarray);
- AliTOFChannelOnline * simCalChOnline = (AliTOFChannelOnline*)calib.fTOFSimCalOnline->At(iarray);
- AliTOFChannelOffline * simCalChOffline = (AliTOFChannelOffline*)calib.fTOFSimCalOffline->At(iarray);
- this->fTOFSimCalOnline->AddAt(simCalChOnline,iarray);
- this->fTOFSimCalOffline->AddAt(simCalChOffline,iarray);
}
return *this;
}
//TOF Calibration Class dtor
if(!(AliCDBManager::Instance()->GetCacheFlag())){ // CDB objects must NOT be deleted if cache is active!
if (fTOFCalOnline){
- // fTOFCalOnline->Clear();
delete fTOFCalOnline;
}
+ if (fTOFCalOnlinePulser){
+ delete fTOFCalOnlinePulser;
+ }
+ if (fTOFCalOnlineNoise){
+ delete fTOFCalOnlineNoise;
+ }
+ if (fTOFCalOnlineHW){
+ delete fTOFCalOnlineHW;
+ }
if (fTOFCalOffline){
- //fTOFCalOffline->Clear();
delete fTOFCalOffline;
}
- if (fTOFSimCalOnline){
- //fTOFSimCalOnline->Clear();
- delete fTOFSimCalOnline;
+ if (fCal){
+ delete fCal;
+ }
+ if (fStatus){
+ delete fStatus;
}
- if (fTOFSimCalOffline){
- //fTOFSimCalOffline->Clear();
- delete fTOFSimCalOffline;
+ if (fConfigMap){
+ delete fConfigMap;
}
}
if (fTree!=0x0) delete fTree;
+ if (fChain!=0x0) delete fChain;
}
//_____________________________________________________________________________
void AliTOFcalib::CreateCalArrays(){
// creating arrays for online/offline calibration objs
fTOFCalOnline = new TObjArray(fNChannels);
+ fTOFCalOnlinePulser = new TObjArray(fNChannels);
+ fTOFCalOnlineNoise = new TObjArray(fNChannels);
+ fTOFCalOnlineHW = new TObjArray(fNChannels);
fTOFCalOffline = new TObjArray(fNChannels);
fTOFCalOnline->SetOwner();
+ fTOFCalOnlinePulser->SetOwner();
+ fTOFCalOnlineNoise->SetOwner();
+ fTOFCalOnlineHW->SetOwner();
fTOFCalOffline->SetOwner();
for (Int_t iarray = 0; iarray<fNChannels; iarray++){
AliTOFChannelOnline * calChOnline = new AliTOFChannelOnline();
+ AliTOFChannelOnlineStatus * calChOnlineStPulser = new AliTOFChannelOnlineStatus();
+ AliTOFChannelOnlineStatus * calChOnlineStNoise = new AliTOFChannelOnlineStatus();
+ AliTOFChannelOnlineStatus * calChOnlineStHW = new AliTOFChannelOnlineStatus();
AliTOFChannelOffline * calChOffline = new AliTOFChannelOffline();
fTOFCalOnline->AddAt(calChOnline,iarray);
+ fTOFCalOnlinePulser->AddAt(calChOnlineStPulser,iarray);
+ fTOFCalOnlineNoise->AddAt(calChOnlineStNoise,iarray);
+ fTOFCalOnlineHW->AddAt(calChOnlineStHW,iarray);
fTOFCalOffline->AddAt(calChOffline,iarray);
}
+ fCal = new AliTOFChannelOnlineArray(fNChannels);
+ fStatus = new AliTOFChannelOnlineStatusArray(fNChannels);
}
//_____________________________________________________________________________
-void AliTOFcalib::CreateSimCalArrays(){
+void AliTOFcalib::CreateCalObjects(){
- // creating arrays for simulation online/offline calibration objs
+ // creating arrays for online/offline calibration objs
- fTOFSimCalOnline = new TObjArray(fNChannels);
- fTOFSimCalOffline = new TObjArray(fNChannels);
- fTOFSimCalOnline->SetOwner();
- fTOFSimCalOffline->SetOwner();
+ fTOFCalOffline = new TObjArray(fNChannels);
+ fTOFCalOffline->SetOwner();
for (Int_t iarray = 0; iarray<fNChannels; iarray++){
- AliTOFChannelOnline * simCalChOnline = new AliTOFChannelOnline();
- AliTOFChannelOffline * simCalChOffline = new AliTOFChannelOffline();
- fTOFSimCalOnline->AddAt(simCalChOnline,iarray);
- fTOFSimCalOffline->AddAt(simCalChOffline,iarray);
+ AliTOFChannelOffline * calChOffline = new AliTOFChannelOffline();
+ fTOFCalOffline->AddAt(calChOffline,iarray);
}
+ fCal = new AliTOFChannelOnlineArray(fNChannels);
+ fStatus = new AliTOFChannelOnlineStatusArray(fNChannels);
}
//_____________________________________________________________________________
-void AliTOFcalib::WriteParOnlineOnCDB(Char_t *sel, Int_t minrun, Int_t maxrun)
+void AliTOFcalib::WriteConfigMapOnCDB(const Char_t *sel, Int_t minrun, Int_t maxrun)
{
//Write calibration parameters to the CDB
SetFirstRun(minrun);
SetLastRun(maxrun);
AliCDBManager *man = AliCDBManager::Instance();
- Char_t *sel1 = "ParOnline" ; // to be consistent with TOFPreprocessor
+ const Char_t *sel1 = "Config" ; // to be consistent with TOFPreprocessor
+ Char_t out[100];
+ sprintf(out,"%s/%s",sel,sel1);
+ AliDebug(2,Form("Writing TOF configuration map for online calib on CDB with run range [%i, %i] ",fFirstRun,fLastRun));
+ AliCDBId id(out,fFirstRun,fLastRun);
+ AliCDBMetaData *md = new AliCDBMetaData();
+ md->SetResponsible("Chiara Zampolli");
+ if (!fConfigMap) {
+ // deve uscire!!
+ }
+ man->Put(fConfigMap,id,md);
+ delete md;
+}
+//_____________________________________________________________________________
+
+void AliTOFcalib::WriteConfigMapOnCDB(const Char_t *sel)
+{
+ //Write calibration parameters to the CDB with infinite validity
+ AliCDBManager *man = AliCDBManager::Instance();
+ const Char_t *sel1 = "Config" ; // to be consistent with TOFPreprocessor
+ Char_t out[100];
+ sprintf(out,"%s/%s",sel,sel1);
+ AliCDBRunRange runrange(fFirstRun,fLastRun);
+ AliDebug(2,Form("Writing TOF config map for online calib on CDB with run range [%i, %i] ",runrange.GetFirstRun(),runrange.GetLastRun()));
+ AliCDBId id(out,runrange);
+ AliCDBMetaData *md = new AliCDBMetaData();
+ md->SetResponsible("Chiara Zampolli");
+ if (!fConfigMap) {
+ // deve uscire!!
+ }
+ man->Put(fConfigMap,id,md);
+ delete md;
+}
+//_____________________________________________________________________________
+void AliTOFcalib::WriteParOnlineDelayOnCDB(const Char_t *sel, Int_t minrun, Int_t maxrun)
+{
+ //Write calibration parameters to the CDB -------> new calib objs!!!!!
+ SetFirstRun(minrun);
+ SetLastRun(maxrun);
+ AliCDBManager *man = AliCDBManager::Instance();
+ const Char_t *sel1 = "ParOnlineDelay" ; // to be consistent with TOFPreprocessor
+ Char_t out[100];
+ sprintf(out,"%s/%s",sel,sel1);
+ AliDebug(2,Form("Writing TOF online calib obj on CDB with run range [%i, %i] ",fFirstRun,fLastRun));
+ AliCDBId id(out,fFirstRun,fLastRun);
+ AliCDBMetaData *md = new AliCDBMetaData();
+ md->SetResponsible("Chiara Zampolli");
+ if (!fCal) {
+ // deve uscire!!
+ }
+ man->Put(fCal,id,md);
+ delete md;
+}
+//_____________________________________________________________________________
+void AliTOFcalib::WriteParOnlineStatusOnCDB(const Char_t *sel, Int_t minrun, Int_t maxrun)
+{
+ //Write calibration parameters to the CDB -------> new calib objs!!!!!
+ SetFirstRun(minrun);
+ SetLastRun(maxrun);
+ AliCDBManager *man = AliCDBManager::Instance();
+ const Char_t *sel1 = "Status" ; // to be consistent with TOFPreprocessor
+ Char_t out[100];
+ sprintf(out,"%s/%s",sel,sel1);
+ AliDebug(2,Form("Writing TOF online status calib obj on CDB with run range [%i, %i] ",fFirstRun,fLastRun));
+ AliCDBId id(out,fFirstRun,fLastRun);
+ AliCDBMetaData *md = new AliCDBMetaData();
+ md->SetResponsible("Chiara Zampolli");
+ if (!fStatus) {
+ // deve uscire!!
+ }
+ man->Put(fStatus,id,md);
+ delete md;
+}
+//_____________________________________________________________________________
+
+void AliTOFcalib::WriteParOnlineDelayOnCDB(const Char_t *sel)
+{
+ //Write calibration parameters to the CDB with infinite validity -------> new calib objs!!!!!
+ AliCDBManager *man = AliCDBManager::Instance();
+ const Char_t *sel1 = "ParOnlineDelay" ; // to be consistent with TOFPreprocessor
+ Char_t out[100];
+ sprintf(out,"%s/%s",sel,sel1);
+ AliCDBRunRange runrange(fFirstRun,fLastRun);
+ AliDebug(2,Form("Writing TOF online calib obj on CDB with run range [%i, %i] ",runrange.GetFirstRun(),runrange.GetLastRun()));
+ AliCDBId id(out,runrange);
+ AliCDBMetaData *md = new AliCDBMetaData();
+ md->SetResponsible("Chiara Zampolli");
+ if (!fCal) {
+ // deve uscire!!
+ }
+ man->Put(fCal,id,md);
+ delete md;
+}
+//_____________________________________________________________________________
+
+void AliTOFcalib::WriteParOnlineStatusOnCDB(const Char_t *sel)
+{
+ //Write calibration parameters to the CDB with infinite validity -------> new calib objs!!!!!
+ AliCDBManager *man = AliCDBManager::Instance();
+ const Char_t *sel1 = "Status" ; // to be consistent with TOFPreprocessor
+ Char_t out[100];
+ sprintf(out,"%s/%s",sel,sel1);
+ AliCDBRunRange runrange(fFirstRun,fLastRun);
+ AliDebug(2,Form("Writing TOF online status calib obj on CDB with run range [%i, %i] ",runrange.GetFirstRun(),runrange.GetLastRun()));
+ AliCDBId id(out,runrange);
+ AliCDBMetaData *md = new AliCDBMetaData();
+ md->SetResponsible("Chiara Zampolli");
+ if (!fStatus) {
+ // deve uscire!!
+ }
+ man->Put(fStatus,id,md);
+ delete md;
+}
+//_____________________________________________________________________________
+void AliTOFcalib::WriteParOnlineOnCDB(const Char_t *sel, Int_t minrun, Int_t maxrun)
+{
+ //Write calibration parameters to the CDB
+ SetFirstRun(minrun);
+ SetLastRun(maxrun);
+ AliCDBManager *man = AliCDBManager::Instance();
+ const Char_t *sel1 = "ParOnline" ; // to be consistent with TOFPreprocessor
Char_t out[100];
sprintf(out,"%s/%s",sel,sel1);
AliDebug(2,Form("Writing TOF online calib obj on CDB with run range [%i, %i] ",fFirstRun,fLastRun));
delete md;
}
//_____________________________________________________________________________
+void AliTOFcalib::WriteParOnlinePulserOnCDB(const Char_t *sel, Int_t minrun, Int_t maxrun)
+{
+ //Write calibration parameters from pulser to the CDB
+ SetFirstRun(minrun);
+ SetLastRun(maxrun);
+ AliCDBManager *man = AliCDBManager::Instance();
+ const Char_t *sel1 = "Pulser" ; // to be consistent with TOFPreprocessor
+ Char_t out[100];
+ sprintf(out,"%s/%s",sel,sel1);
+ AliDebug(2,Form("Writing TOF online calib obj from pulser on CDB with run range [%i, %i] ",fFirstRun,fLastRun));
+ AliCDBId id(out,fFirstRun,fLastRun);
+ AliCDBMetaData *md = new AliCDBMetaData();
+ md->SetResponsible("Chiara Zampolli");
+ if (!fTOFCalOnlinePulser) {
+ // deve uscire!!
+ }
+ man->Put(fTOFCalOnlinePulser,id,md);
+ delete md;
+}
+//_____________________________________________________________________________
+void AliTOFcalib::WriteParOnlineNoiseOnCDB(const Char_t *sel, Int_t minrun, Int_t maxrun)
+{
+ //Write calibration parameters from noise to the CDB
+ SetFirstRun(minrun);
+ SetLastRun(maxrun);
+ AliCDBManager *man = AliCDBManager::Instance();
+ const Char_t *sel1 = "Noise" ; // to be consistent with TOFPreprocessor
+ Char_t out[100];
+ sprintf(out,"%s/%s",sel,sel1);
+ AliDebug(2,Form("Writing TOF online calib obj from noise on CDB with run range [%i, %i] ",fFirstRun,fLastRun));
+ AliCDBId id(out,fFirstRun,fLastRun);
+ AliCDBMetaData *md = new AliCDBMetaData();
+ md->SetResponsible("Chiara Zampolli");
+ if (!fTOFCalOnlineNoise) {
+ // deve uscire!!
+ }
+ man->Put(fTOFCalOnlineNoise,id,md);
+ delete md;
+}
+//_____________________________________________________________________________
+void AliTOFcalib::WriteParOnlineHWOnCDB(const Char_t *sel, Int_t minrun, Int_t maxrun)
+{
+ //Write calibration parameters from hardware to the CDB
+ SetFirstRun(minrun);
+ SetLastRun(maxrun);
+ AliCDBManager *man = AliCDBManager::Instance();
+ const Char_t *sel1 = "HW" ; // to be consistent with TOFPreprocessor
+ Char_t out[100];
+ sprintf(out,"%s/%s",sel,sel1);
+ AliDebug(2,Form("Writing TOF online calib obj from hardware on CDB with run range [%i, %i] ",fFirstRun,fLastRun));
+ AliCDBId id(out,fFirstRun,fLastRun);
+ AliCDBMetaData *md = new AliCDBMetaData();
+ md->SetResponsible("Chiara Zampolli");
+ if (!fTOFCalOnlineHW) {
+ // deve uscire!!
+ }
+ man->Put(fTOFCalOnlineHW,id,md);
+ delete md;
+}
+//_____________________________________________________________________________
-void AliTOFcalib::WriteParOnlineOnCDB(Char_t *sel)
+void AliTOFcalib::WriteParOnlineOnCDB(const Char_t *sel)
{
//Write calibration parameters to the CDB with infinite validity
AliCDBManager *man = AliCDBManager::Instance();
- Char_t *sel1 = "ParOnline" ; // to be consistent with TOFPreprocessor
+ const Char_t *sel1 = "ParOnline" ; // to be consistent with TOFPreprocessor
Char_t out[100];
sprintf(out,"%s/%s",sel,sel1);
AliCDBRunRange runrange(fFirstRun,fLastRun);
}
//_____________________________________________________________________________
-void AliTOFcalib::WriteParOfflineOnCDB(Char_t *sel, const Char_t *validity, Int_t minrun, Int_t maxrun)
+void AliTOFcalib::WriteParOnlinePulserOnCDB(const Char_t *sel)
+{
+ //Write calibration parameters from pulser to the CDB with infinite validity
+ AliCDBManager *man = AliCDBManager::Instance();
+ const Char_t *sel1 = "Pulser" ; // to be consistent with TOFPreprocessor
+ Char_t out[100];
+ sprintf(out,"%s/%s",sel,sel1);
+ AliCDBRunRange runrange(fFirstRun,fLastRun);
+ AliDebug(2,Form("Writing TOF online calib obj from pulser on CDB with run range [%i, %i] ",runrange.GetFirstRun(),runrange.GetLastRun()));
+ AliCDBId id(out,runrange);
+ AliCDBMetaData *md = new AliCDBMetaData();
+ md->SetResponsible("Chiara Zampolli");
+ if (!fTOFCalOnlinePulser) {
+ // deve uscire!!
+ }
+ man->Put(fTOFCalOnlinePulser,id,md);
+ delete md;
+}
+//_____________________________________________________________________________
+
+void AliTOFcalib::WriteParOnlineNoiseOnCDB(const Char_t *sel)
+{
+ //Write calibration parameters from noise to the CDB with infinite validity
+ AliCDBManager *man = AliCDBManager::Instance();
+ const Char_t *sel1 = "Noise" ; // to be consistent with TOFPreprocessor
+ Char_t out[100];
+ sprintf(out,"%s/%s",sel,sel1);
+ AliCDBRunRange runrange(fFirstRun,fLastRun);
+ AliDebug(2,Form("Writing TOF online calib obj from noise on CDB with run range [%i, %i] ",runrange.GetFirstRun(),runrange.GetLastRun()));
+ AliCDBId id(out,runrange);
+ AliCDBMetaData *md = new AliCDBMetaData();
+ md->SetResponsible("Chiara Zampolli");
+ if (!fTOFCalOnlineNoise) {
+ // deve uscire!!
+ }
+ man->Put(fTOFCalOnlineNoise,id,md);
+ delete md;
+}
+//_____________________________________________________________________________
+
+void AliTOFcalib::WriteParOnlineHWOnCDB(const Char_t *sel)
+{
+ //Write calibration parameters from hardware to the CDB with infinite validity
+ AliCDBManager *man = AliCDBManager::Instance();
+ const Char_t *sel1 = "HW" ; // to be consistent with TOFPreprocessor
+ Char_t out[100];
+ sprintf(out,"%s/%s",sel,sel1);
+ AliCDBRunRange runrange(fFirstRun,fLastRun);
+ AliDebug(2,Form("Writing TOF online calib obj from harware on CDB with run range [%i, %i] ",runrange.GetFirstRun(),runrange.GetLastRun()));
+ AliCDBId id(out,runrange);
+ AliCDBMetaData *md = new AliCDBMetaData();
+ md->SetResponsible("Chiara Zampolli");
+ if (!fTOFCalOnlineHW) {
+ // deve uscire!!
+ }
+ man->Put(fTOFCalOnlineHW,id,md);
+ delete md;
+}
+//_____________________________________________________________________________
+
+void AliTOFcalib::WriteParOfflineOnCDB(const Char_t *sel, const Char_t *validity, Int_t minrun, Int_t maxrun)
{
//Write calibration parameters to the CDB
SetFirstRun(minrun);
SetLastRun(maxrun);
AliCDBManager *man = AliCDBManager::Instance();
- Char_t *sel1 = "ParOffline" ;
+ const Char_t *sel1 = "ParOffline" ;
Char_t out[100];
sprintf(out,"%s/%s",sel,sel1);
AliDebug(2,Form("Writing TOF offline calib obj on CDB with run range [%i, %i] ",fFirstRun,fLastRun));
}
//_____________________________________________________________________________
-void AliTOFcalib::WriteParOfflineOnCDB(Char_t *sel, const Char_t *validity)
+void AliTOFcalib::WriteParOfflineOnCDB(const Char_t *sel, const Char_t *validity)
{
//Write calibration parameters to the CDB with infinite validity
AliCDBManager *man = AliCDBManager::Instance();
- Char_t *sel1 = "ParOffline" ;
+ const Char_t *sel1 = "ParOffline" ;
Char_t out[100];
sprintf(out,"%s/%s",sel,sel1);
AliCDBRunRange runrange(fFirstRun,fLastRun);
}
//_____________________________________________________________________________
-Bool_t AliTOFcalib::ReadParOnlineFromCDB(Char_t *sel, Int_t nrun)
+Bool_t AliTOFcalib::ReadConfigMapFromCDB(const Char_t *sel, Int_t nrun)
{
//Read calibration parameters from the CDB
AliCDBManager *man = AliCDBManager::Instance();
- Char_t *sel1 = "ParOnline" ;
+ const Char_t *sel1 = "Config" ;
Char_t out[100];
sprintf(out,"%s/%s",sel,sel1);
- if (!man->Get(out,nrun)) {
- return kFALSE;
- }
AliCDBEntry *entry = man->Get(out,nrun);
+ if (!entry) {
+ AliFatal("Exiting, no CDB object (ConfigMap) found!!!");
+ exit(0);
+ }
if(!entry->GetObject()){
- return kFALSE;
+ AliFatal("Exiting, no CDB object (ConfigMap) found!!!");
+ exit(0);
}
- fTOFCalOnline =(TObjArray*)entry->GetObject();
+ fConfigMap =(TMap*)entry->GetObject();
return kTRUE;
}
//_____________________________________________________________________________
-Bool_t AliTOFcalib::ReadParOfflineFromCDB(Char_t *sel, Int_t nrun)
+Bool_t AliTOFcalib::ReadParOnlineDelayFromCDB(const Char_t *sel, Int_t nrun)
{
- //Read calibration parameters from the CDB
+ //Read calibration parameters from the CDB -------> new calib objs!!!!!
AliCDBManager *man = AliCDBManager::Instance();
- Char_t *sel1 = "ParOffline" ;
+ const Char_t *sel1 = "ParOnlineDelay" ;
Char_t out[100];
sprintf(out,"%s/%s",sel,sel1);
- if (!man->Get(out,nrun)) {
- return kFALSE;
- }
AliCDBEntry *entry = man->Get(out,nrun);
+ if (!entry) {
+ AliFatal("Exiting, no CDB object (ParOnlineDelay) found!!!");
+ exit(0);
+ }
if(!entry->GetObject()){
- return kFALSE;
+ AliFatal("Exiting, no CDB object (ParOnlineDelay) found!!!");
+ exit(0);
}
- AliCDBMetaData * md = entry->GetMetaData();
- fkValidity = md->GetComment();
- fTOFCalOffline =(TObjArray*)entry->GetObject();
+
+ fCal =(AliTOFChannelOnlineArray*)entry->GetObject();
return kTRUE;
}
//_____________________________________________________________________________
-void AliTOFcalib::WriteSimParOnlineOnCDB(Char_t *sel, Int_t minrun, Int_t maxrun, TObjArray *calOnline){
- //Write Sim miscalibration parameters to the CDB
- fTOFSimCalOnline=calOnline;
+Bool_t AliTOFcalib::ReadParOnlineStatusFromCDB(const Char_t *sel, Int_t nrun)
+{
+ //Read calibration parameters from the CDB -------> new calib objs!!!!!
AliCDBManager *man = AliCDBManager::Instance();
- AliCDBMetaData *md = new AliCDBMetaData();
- md->SetResponsible("Chiara Zampolli");
- Char_t *sel1 = "SimParOnline" ;
+ const Char_t *sel1 = "Status" ;
Char_t out[100];
sprintf(out,"%s/%s",sel,sel1);
- AliCDBId id1(out,minrun,maxrun);
- man->Put(fTOFSimCalOnline,id1,md);
- delete md;
+ AliCDBEntry *entry = man->Get(out,nrun);
+ if (!entry) {
+ AliFatal("Exiting, no CDB object (Status) found!!!");
+ exit(0);
+ }
+ if(!entry->GetObject()){
+ AliFatal("Exiting, no CDB object (Status) found!!!");
+ exit(0);
+ }
+
+ fStatus =(AliTOFChannelOnlineStatusArray*)entry->GetObject();
+
+ return kTRUE;
+
}
//_____________________________________________________________________________
-void AliTOFcalib::WriteSimParOfflineOnCDB(Char_t *sel, const Char_t *validity, Int_t minrun, Int_t maxrun, TObjArray *calOffline, TH1F *histo){
- //Write Sim miscalibration parameters to the CDB
- fTOFSimToT=histo;
- fTOFSimCalOffline=calOffline;
+Bool_t AliTOFcalib::ReadParOnlineFromCDB(const Char_t *sel, Int_t nrun)
+{
+ //Read calibration parameters from the CDB
AliCDBManager *man = AliCDBManager::Instance();
- AliCDBMetaData *md = new AliCDBMetaData();
- md->SetResponsible("Chiara Zampolli");
- md->SetComment(validity);
- Char_t *sel1 = "SimParOffline" ;
+ const Char_t *sel1 = "ParOnline" ;
Char_t out[100];
sprintf(out,"%s/%s",sel,sel1);
- AliCDBId id1(out,minrun,maxrun);
- man->Put(fTOFSimCalOffline,id1,md);
- Char_t *sel2 = "SimHisto" ;
- sprintf(out,"%s/%s",sel,sel2);
- AliCDBMetaData *mdhisto = new AliCDBMetaData();
- mdhisto->SetResponsible("Chiara Zampolli");
- AliCDBId id2(out,minrun,maxrun);
- man->Put(fTOFSimToT,id2,mdhisto);
- delete md;
- delete mdhisto;
+ AliCDBEntry *entry = man->Get(out,nrun);
+ if (!entry) {
+ AliFatal("Exiting, no CDB object (ParOnline) found!!!");
+ exit(0);
+ }
+ if(!entry->GetObject()){
+ AliFatal("Exiting, no CDB object (ParOnline) found!!!");
+ exit(0);
+ }
+
+ fTOFCalOnline =(TObjArray*)entry->GetObject();
+
+ return kTRUE;
+
}
//_____________________________________________________________________________
-void AliTOFcalib::ReadSimParOnlineFromCDB(Char_t *sel, Int_t nrun)
+
+Bool_t AliTOFcalib::ReadParOnlinePulserFromCDB(const Char_t *sel, Int_t nrun)
{
- //Read miscalibration parameters from the CDB
+ //Read calibration parameters from pulser from the CDB
AliCDBManager *man = AliCDBManager::Instance();
+ const Char_t *sel1 = "Pulser" ;
+ Char_t out[100];
+ sprintf(out,"%s/%s",sel,sel1);
+ AliCDBEntry *entry = man->Get(out,nrun);
+ if (!entry) {
+ AliFatal("Exiting, no CDB object (Pulser) found!!!");
+ exit(0);
+ }
+ if(!entry->GetObject()){
+ AliFatal("Exiting, no CDB object (Pulser) found!!!");
+ exit(0);
+ }
+
+ fTOFCalOnlinePulser =(TObjArray*)entry->GetObject();
- // The Slewing Pars
+ return kTRUE;
+
+}
+//_____________________________________________________________________________
- Char_t *sel1 = "SimParOnline" ;
+Bool_t AliTOFcalib::ReadParOnlineNoiseFromCDB(const Char_t *sel, Int_t nrun)
+{
+ //Read calibration parameters from noise from the CDB
+ AliCDBManager *man = AliCDBManager::Instance();
+ const Char_t *sel1 = "Noise" ;
Char_t out[100];
sprintf(out,"%s/%s",sel,sel1);
- if (!man->Get(out,nrun)) {
- AliFatal("Exiting, no CDB object (SimParOnline) found!!!");
+ AliCDBEntry *entry = man->Get(out,nrun);
+ if (!entry) {
+ AliFatal("Exiting, no CDB object (Noise) found!!!");
exit(0);
}
- AliCDBEntry *entry1 = man->Get(out,nrun);
- if(!entry1->GetObject()){
- AliFatal("Exiting, no CDB object (SimParOnline) found!!!");
+ if(!entry->GetObject()){
+ AliFatal("Exiting, no CDB object (Noise) found!!!");
exit(0);
}
- TObjArray *cal =(TObjArray*)entry1->GetObject();
- fTOFSimCalOnline=cal;
+
+ fTOFCalOnlineNoise =(TObjArray*)entry->GetObject();
+ return kTRUE;
+
}
//_____________________________________________________________________________
-void AliTOFcalib::ReadSimParOfflineFromCDB(Char_t *sel, Int_t nrun)
+
+Bool_t AliTOFcalib::ReadParOnlineHWFromCDB(const Char_t *sel, Int_t nrun)
{
- //Read miscalibration parameters from the CDB
+ //Read calibration parameters from hardware from the CDB
AliCDBManager *man = AliCDBManager::Instance();
+ const Char_t *sel1 = "HW" ;
+ Char_t out[100];
+ sprintf(out,"%s/%s",sel,sel1);
+ AliCDBEntry *entry = man->Get(out,nrun);
+ if (!entry) {
+ AliFatal("Exiting, no CDB object (HW map) found!!!");
+ exit(0);
+ }
+ if(!entry->GetObject()){
+ AliFatal("Exiting, no CDB object (HW map) found!!!");
+ exit(0);
+ }
+
+ fTOFCalOnlineHW =(TObjArray*)entry->GetObject();
- // The Slewing Pars
+ return kTRUE;
+
+}
+//_____________________________________________________________________________
- Char_t *sel1 = "SimParOffline" ;
+Bool_t AliTOFcalib::ReadParOfflineFromCDB(const Char_t *sel, Int_t nrun)
+{
+ //Read calibration parameters from the CDB
+ AliCDBManager *man = AliCDBManager::Instance();
+ const Char_t *sel1 = "ParOffline" ;
Char_t out[100];
sprintf(out,"%s/%s",sel,sel1);
- if (!man->Get(out,nrun)) {
- AliFatal("Exiting, no CDB object (SimParOffline) found!!!");
+ AliCDBEntry *entry = man->Get(out,nrun);
+ if (!entry) {
+ AliFatal("Exiting, no CDB object (ParOffline) found!!!");
exit(0);
}
- AliCDBEntry *entry1 = man->Get(out,nrun);
- if(!entry1->GetObject()){
- AliFatal("Exiting, no CDB object (SimParOffline) found!!!");
+ if(!entry->GetObject()){
+ AliFatal("Exiting, no CDB object (ParOffline) found!!!");
exit(0);
}
- TObjArray *cal =(TObjArray*)entry1->GetObject();
- AliCDBMetaData *md = (AliCDBMetaData*)entry1->GetMetaData();
- fkValidity = md->GetComment();
- fTOFSimCalOffline=cal;
+ AliCDBMetaData * md = entry->GetMetaData();
+ fkValidity = md->GetComment();
+ fTOFCalOffline =(TObjArray*)entry->GetObject();
+
+ return kTRUE;
+
+}
+//_____________________________________________________________________________
+void AliTOFcalib::WriteSimHistoOnCDB(const Char_t *sel, Int_t minrun, Int_t maxrun, TH1F *histo){
+ //Write Sim miscalibration parameters to the CDB
+
+ fTOFSimToT=histo;
+ AliCDBManager *man = AliCDBManager::Instance();
+ const Char_t *sel1 = "SimHisto" ;
+ Char_t out[100];
+ sprintf(out,"%s/%s",sel,sel1);
+ AliCDBMetaData *mdhisto = new AliCDBMetaData();
+ mdhisto->SetResponsible("Chiara Zampolli");
+ AliCDBId id(out,minrun,maxrun);
+ man->Put(fTOFSimToT,id,mdhisto);
+ delete mdhisto;
+}
+//_____________________________________________________________________________
+Bool_t AliTOFcalib::ReadSimHistoFromCDB(const Char_t *sel, Int_t nrun)
+{
+ //Read miscalibration parameters from the CDB
+ AliCDBManager *man = AliCDBManager::Instance();
// The Tot Histo
- Char_t *sel2 = "SimHisto" ;
- sprintf(out,"%s/%s",sel,sel2);
- if (!man->Get(out,nrun)) {
+ const Char_t *sel1 = "SimHisto" ;
+ Char_t out[100];
+ sprintf(out,"%s/%s",sel,sel1);
+ AliCDBEntry *entry = man->Get(out,nrun);
+ if (!entry) {
AliFatal("Exiting, no CDB object (SimHisto) found!!!");
exit(0);
}
- AliCDBEntry *entry2 = man->Get(out,nrun);
- if(!entry2->GetObject()){
+ if(!entry->GetObject()){
AliFatal("Exiting, no CDB object (SimHisto) found!!!");
exit(0);
}
- TH1F *histo =(TH1F*)entry2->GetObject();
+ TH1F *histo =(TH1F*)entry->GetObject();
fTOFSimToT=histo;
+ return kTRUE;
}
//_____________________________________________________________________________
-void AliTOFcalib::WriteRecParOnCDB(Char_t *sel, Int_t minrun, Int_t maxrun, AliTOFRecoParam *param){
+void AliTOFcalib::WriteRecParOnCDB(const Char_t *sel, Int_t minrun, Int_t maxrun, AliTOFRecoParam *param){
//Write reconstruction parameters to the CDB
AliCDBManager *man = AliCDBManager::Instance();
AliCDBMetaData *md = new AliCDBMetaData();
md->SetResponsible("Silvia Arcelli");
- Char_t *sel1 = "RecPar" ;
+ const Char_t *sel1 = "RecPar" ;
Char_t out[100];
sprintf(out,"%s/%s",sel,sel1);
AliCDBId id(out,minrun,maxrun);
delete md;
}
//_____________________________________________________________________________
-AliTOFRecoParam * AliTOFcalib::ReadRecParFromCDB(Char_t *sel, Int_t nrun)
+AliTOFRecoParam * AliTOFcalib::ReadRecParFromCDB(const Char_t *sel, Int_t nrun)
{
//Read reconstruction parameters from the CDB
AliCDBManager *man = AliCDBManager::Instance();
- Char_t *sel1 = "RecPar" ;
+ const Char_t *sel1 = "RecPar" ;
Char_t out[100];
sprintf(out,"%s/%s",sel,sel1);
- if (!man->Get(out,nrun)) {
+ AliCDBEntry *entry = man->Get(out,nrun);
+ if (!entry) {
AliFatal("Exiting, no CDB object (RecPar) found!!!");
exit(0);
}
- AliCDBEntry *entry = man->Get(out,nrun);
if(!entry->GetObject()){
AliFatal("Exiting, no CDB object (RecPar) found!!!");
exit(0);
AliInfo(Form("Number of runs being analyzed %i",fNruns));
}
//-----------------------------------------------------------------------------
+void AliTOFcalib::CreateChainFromGrid(Int_t minrun, Int_t maxrun){
+
+ // creating the chain with the trees for calibration
+ // collecting them from the Grid
+ // from minrun to maxrun
+
+ fChain = new TChain("T");
+ AliInfo("connected to alien");
+ TGrid::Connect("alien://");
+
+ Char_t filename[100];
+ for (Int_t irun = minrun;irun<=maxrun;irun++){
+ sprintf(filename,"alien:///alice/cern.ch/user/c/czampolli/TOFCalibReference_%i.root",irun);
+ fChain->Add(filename);
+ fNruns++;
+ }
+
+ AliInfo(Form("Number of runs being analyzed %i",fNruns));
+}
+//-----------------------------------------------------------------------------
Int_t AliTOFcalib::Calibrate(Int_t ichmin, Int_t ichmax, Option_t *optionSave, Option_t *optionFit){
// calibrating summing more than one channels
Float_t p[CHENTRIESSMALL];
Int_t nentries;
- fTree->SetBranchAddress("nentries",&nentries);
- fTree->SetBranchAddress("TOFentries",p);
+ //fTree->SetBranchAddress("nentries",&nentries);
+ //fTree->SetBranchAddress("TOFentries",p);
+ fChain->SetBranchAddress("nentries",&nentries);
+ fChain->SetBranchAddress("TOFentries",p);
Float_t ntracksTotalmean =0;
for (Int_t i=ichmin; i<ichmax; i++){
Int_t ientry = -1;
for (Int_t irun=0;irun<fNruns;irun++){
ientry = i+irun*fNChannels;
- fTree->GetEntry(ientry);
+ //fTree->GetEntry(ientry);
+ fChain->GetEntry(ientry);
Int_t ntracksRun=nentries/3;
ntracksTotalmean+=ntracksRun;
}
Int_t ientry = -1;
for (Int_t irun=0;irun<fNruns;irun++){
ientry = i+irun*fNChannels;
- fTree->GetEntry(ientry);
+ //fTree->GetEntry(ientry);
+ fChain->GetEntry(ientry);
ntracksTotal+=nentries/3;
ntracksRun=nentries/3;
AliDebug(2,Form("run %i, channel %i, nentries = %i, ntracks = %i",irun,i,nentries, ntracksRun));
Int_t ientry = -1;
for (Int_t i=ichmin; i<ichmax; i++){
ientry = i+irun*fNChannels;
- fTree->GetEntry(ientry);
+ //fTree->GetEntry(ientry);
+ fChain->GetEntry(ientry);
ntracksRun=nentries/3;
for (Int_t j=0;j<ntracksRun;j++){
Int_t idxexToT = (j* NIDXSMALL)+DELTAIDXTOT;
Float_t p[MAXCHENTRIESSMALL];
Int_t nentries;
- fTree->SetBranchAddress("nentries",&nentries);
- fTree->SetBranchAddress("TOFentries",p);
+ //fTree->SetBranchAddress("nentries",&nentries);
+ //fTree->SetBranchAddress("TOFentries",p);
+ fChain->SetBranchAddress("nentries",&nentries);
+ fChain->SetBranchAddress("TOFentries",p);
Float_t ntracksTotal =0;
for (Int_t irun=0;irun<fNruns;irun++){
Int_t ientry = -1;
ientry = i+irun*fNChannels;
- fTree->GetEntry(ientry);
+ //fTree->GetEntry(ientry);
+ fChain->GetEntry(ientry);
ntracksTotal+=nentries/3;
}
for (Int_t irun=0;irun<fNruns;irun++){
Int_t ientry = -1;
ientry = i+irun*fNChannels;
- fTree->GetEntry(ientry);
+ //fTree->GetEntry(ientry);
+ fChain->GetEntry(ientry);
ntracksRun=nentries/3;
AliDebug(2,Form("run %i, channel %i, nentries = %i, ntracksRun = %i",irun, i ,nentries, ntracksRun));
for (Int_t j=0;j<ntracksRun;j++){
for (Int_t irun=0;irun<fNruns;irun++){
Int_t ientry = -1;
ientry = i+irun*fNChannels;
- fTree->GetEntry(ientry);
+ //fTree->GetEntry(ientry);
+ fChain->GetEntry(ientry);
ntracksRun=nentries/3;
for (Int_t j=0;j<ntracksRun;j++){
Int_t idxexToT = (j* NIDXSMALL)+DELTAIDXTOT;
}
Float_t p[MAXCHENTRIESSMALL];
Int_t nentries;
- fTree->SetBranchAddress("nentries",&nentries);
- fTree->SetBranchAddress("TOFentries",p);
+ //fTree->SetBranchAddress("nentries",&nentries);
+ //fTree->SetBranchAddress("TOFentries",p);
+ fChain->SetBranchAddress("nentries",&nentries);
+ fChain->SetBranchAddress("TOFentries",p);
Float_t ntracksTotalmean =0;
for (Int_t ich=0; ich<nch; ich++){
Int_t i = ch[ich];
for (Int_t irun=0;irun<fNruns;irun++){
ientry = i+irun*fNChannels;
- fTree->GetEntry(ientry);
+ //fTree->GetEntry(ientry);
+ fChain->GetEntry(ientry);
ntracksTotalmean+=nentries/3;
}
}
for (Int_t irun=0;irun<fNruns;irun++){
i = ch[ich]+irun*fNChannels;
AliDebug(2,Form("Calibrating channel %i",i));
- fTree->GetEntry(i);
+ //fTree->GetEntry(i);
+ fChain->GetEntry(i);
ntracksTotal+=nentries/3;
}
if (ntracksTotal < MEANENTRIES) {
}
for (Int_t irun=0;irun<fNruns;irun++){
- Int_t i = ch[ich]+irun*fNChannels;
- fTree->GetEntry(i);
+ i = ch[ich]+irun*fNChannels;
+ //fTree->GetEntry(i);
+ fChain->GetEntry(i);
ntracksRun=nentries/3;
for (Int_t j=0;j<ntracksRun;j++){
Int_t idxexToT = (j* NIDXSMALL)+DELTAIDXTOT;
TProfile* hSlewingProf = new TProfile("hSlewingProf", "hSlewingProf",nusefulbins, binsProfile, "G"); // CHECK THE BUILD OPTION, PLEASE!!!!!!
for (Int_t irun=0;irun<fNruns;irun++){
- Int_t i = ch[ich]+irun*fNChannels;
- fTree->GetEntry(i);
+ i = ch[ich]+irun*fNChannels;
+ //fTree->GetEntry(i);
+ fChain->GetEntry(i);
ntracksRun=nentries/3;
for (Int_t j=0;j<ntracksRun;j++){
Int_t idxexToT = (j* NIDXSMALL)+DELTAIDXTOT;
Float_t p[MAXCHENTRIESSMALL];
Int_t nentries;
Int_t ntracksTotal=0;
- fTree->SetBranchAddress("nentries",&nentries);
- fTree->SetBranchAddress("TOFentries",p);
+ //fTree->SetBranchAddress("nentries",&nentries);
+ //fTree->SetBranchAddress("TOFentries",p);
+ fChain->SetBranchAddress("nentries",&nentries);
+ fChain->SetBranchAddress("TOFentries",p);
for (Int_t irun=0;irun<fNruns;irun++){
Int_t i = ich+irun*fNChannels;
- fTree->GetEntry(i);
+ //fTree->GetEntry(i);
+ fChain->GetEntry(i);
ntracksTotal+=nentries/3;
}
Float_t p[MAXCHENTRIESSMALL];
Int_t nentries;
- fTree->SetBranchAddress("nentries",&nentries);
- fTree->SetBranchAddress("TOFentries",p);
+ //fTree->SetBranchAddress("nentries",&nentries);
+ //fTree->SetBranchAddress("TOFentries",p);
+ fChain->SetBranchAddress("nentries",&nentries);
+ fChain->SetBranchAddress("TOFentries",p);
Float_t ntracksTotalmean =0;
for (Int_t ii=0; ii<fNChannels; ii++){
for (Int_t irun=0;irun<fNruns;irun++){
Int_t i = ii+irun*fNChannels;
- fTree->GetEntry(i);
+ //fTree->GetEntry(i);
+ fChain->GetEntry(i);
ntracksTotalmean+=nentries/3;
}
}
Int_t ntracksTotal = 0;
for (Int_t irun=0;irun<fNruns;irun++){
Int_t i = ii+irun*fNChannels;
- fTree->GetEntry(i);
+ //fTree->GetEntry(i);
+ fChain->GetEntry(i);
ntracksTotal+=nentries/3;
}
if (ntracksTotal < MEANENTRIES) {
Float_t meantime=0;
for (Int_t irun=0;irun<fNruns;irun++){
Int_t i = ii+irun*fNChannels;
- fTree->GetEntry(i);
+ //fTree->GetEntry(i);
+ fChain->GetEntry(i);
ntracksRun=nentries/3;
for (Int_t j=0;j<ntracksRun;j++){
Int_t idxexToT = (j* NIDXSMALL)+DELTAIDXTOT;
TProfile* hSlewingProf = new TProfile("hSlewingProf", "hSlewingProf",nusefulbins, binsProfile, "G"); // CHECK THE BUILD OPTION, PLEASE!!!!!!
for (Int_t irun=0;irun<fNruns;irun++){
Int_t i = ii+irun*fNChannels;
- fTree->GetEntry(i);
+ //fTree->GetEntry(i);
+ fChain->GetEntry(i);
ntracksRun=nentries/3;
for (Int_t j=0;j<ntracksRun;j++){
Int_t idxexToT = (j* NIDXSMALL)+DELTAIDXTOT;
Float_t p[MAXCHENTRIESSMALL];
Int_t nentries;
- fTree->SetBranchAddress("nentries",&nentries);
- fTree->SetBranchAddress("TOFentries",p);
+ //fTree->SetBranchAddress("nentries",&nentries);
+ //fTree->SetBranchAddress("TOFentries",p);
+ fChain->SetBranchAddress("nentries",&nentries);
+ fChain->SetBranchAddress("TOFentries",p);
//Prepare histograms for Slewing Correction
const Int_t knbinToT = 100;
TH1F *histo = new TH1F("histo", "1D Time vs ToT", knbinToT, minToT, maxToT);
for (Int_t irun=0;irun<fNruns;irun++){
Int_t i = ich+irun*fNChannels;
- fTree->GetEntry(i);
+ //fTree->GetEntry(i);
+ fChain->GetEntry(i);
ntracksRun=nentries/3;
for (Int_t j=0;j<ntracksRun;j++){
Int_t idxexToT = (j* NIDXSMALL)+DELTAIDXTOT;