Trigger mask setting for calibration
authormarian <marian@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sat, 8 Nov 2008 13:04:44 +0000 (13:04 +0000)
committermarian <marian@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sat, 8 Nov 2008 13:04:44 +0000 (13:04 +0000)
Only events with selected trigger used for calibration (Marian)

TPC/AliTPCAnalysisTaskcalib.cxx
TPC/AliTPCcalibBase.cxx
TPC/AliTPCcalibBase.h

index 4d620a3..b73f7c8 100644 (file)
@@ -103,7 +103,7 @@ void AliTPCAnalysisTaskcalib::Exec(Option_t *) {
     if (seed)
       Process(seed);
   }
-  //PostData(0,fCalibJobs);
+  PostData(0,fCalibJobs);
 }
 
 void AliTPCAnalysisTaskcalib::ConnectInputData(Option_t *) {
@@ -130,7 +130,7 @@ void AliTPCAnalysisTaskcalib::CreateOutputObjects() {
   //
   //
   //
-  //  OpenFile(0, "RECREATE");
+  OpenFile(0, "RECREATE");
 }
 void AliTPCAnalysisTaskcalib::Terminate(Option_t */*option*/) {
   //
@@ -167,7 +167,8 @@ void AliTPCAnalysisTaskcalib::Process(AliESDEvent *event) {
     job = (AliTPCcalibBase*)fCalibJobs->UncheckedAt(i);
     if (job) {
       job->UpdateEventInfo(event);
-      job->Process(event);
+      if (job->AcceptTrigger())
+       job->Process(event);
     }
   }
 }
@@ -180,7 +181,9 @@ void AliTPCAnalysisTaskcalib::Process(AliTPCseed *track) {
   Int_t njobs = fCalibJobs->GetEntriesFast();
   for (Int_t i=0;i<njobs;i++){
     job = (AliTPCcalibBase*)fCalibJobs->UncheckedAt(i);
-    if (job) job->Process(track);
+    if (job)  
+      if (job->AcceptTrigger())
+       job->Process(track);
   }
 }
 
@@ -192,7 +195,9 @@ void AliTPCAnalysisTaskcalib::Process(AliESDtrack *track, Int_t run) {
   Int_t njobs = fCalibJobs->GetEntriesFast();
   for (Int_t i=0;i<njobs;i++){
     job = (AliTPCcalibBase*)fCalibJobs->UncheckedAt(i);
-    if (job) job->Process(track,run);
+    if (job) 
+      if (job->AcceptTrigger())
+       job->Process(track,run);
   }
 }
 
@@ -229,7 +234,7 @@ void AliTPCAnalysisTaskcalib::RegisterDebugOutput(){
     if (job) job->RegisterDebugOutput(fDebugOutputPath.Data());
   }
   TFile fff("CalibObjects.root","recreate");
-  fCalibJobs->Write("TPCCalib");
+  fCalibJobs->Write("TPCCalib",TObject::kSingleKey);
   fff.Close();
   //
   // store  - copy debug output to the destination position
index 8ee9149..f27bb23 100644 (file)
@@ -59,6 +59,8 @@ AliTPCcalibBase::AliTPCcalibBase():
     fTime(0),                 //!  current Time
     fTrigger(0),              //! current trigger type
     fMagF(0),                 //! current magnetic field
+    fTriggerMaskReject(-1),   //trigger mask - reject trigger
+    fTriggerMaskAccept(-1),   //trigger mask - accept trigger
     fDebugLevel(0)
 {
   //
@@ -75,6 +77,8 @@ AliTPCcalibBase::AliTPCcalibBase(const AliTPCcalibBase&calib):
   fTime(0),                 //!  current Time
   fTrigger(0),              //! current trigger type
   fMagF(0),                 //! current magnetic field
+  fTriggerMaskReject(calib.fTriggerMaskReject),   //trigger mask - reject trigger
+  fTriggerMaskAccept(calib.fTriggerMaskAccept),   //trigger mask - accept trigger
   fDebugLevel(calib.fDebugLevel)
 {
   //
@@ -140,6 +144,16 @@ void    AliTPCcalibBase::UpdateEventInfo(AliESDEvent * event){
   fMagF    = event->GetMagneticField();
 }
 
+Bool_t AliTPCcalibBase::AcceptTrigger(){
+  //
+  // Apply trigger mask - Don't do calibration for non proper triggers
+  // 
+  if (fTriggerMaskReject==fTrigger) return kFALSE;
+  if (fTriggerMaskAccept>0 && fTriggerMaskAccept!=fTrigger) return kFALSE;
+  return kTRUE;
+}
+
+
 void AliTPCcalibBase::RegisterDebugOutput(const char *path){
   //
   // store  - copy debug output to the destination position
index 40d2197..2aebea3 100644 (file)
@@ -27,8 +27,9 @@ public:
   virtual Long64_t Merge(TCollection */*li*/){return 0;}
   virtual void     Analyze(){return;}
   virtual void     Terminate();
-
-  virtual void    UpdateEventInfo(AliESDEvent * event);
+  virtual void     UpdateEventInfo(AliESDEvent * event);
+  virtual Bool_t   AcceptTrigger();
+  virtual void     SetTriggerMask(Int_t accept, Int_t reject){fTriggerMaskAccept=accept;fTriggerMaskReject=reject;}
   //
   // debug streamer support
   TTreeSRedirector *GetDebugStreamer();
@@ -45,6 +46,8 @@ protected:
   Int_t  fTime;                         //!  current Time
   ULong64_t  fTrigger;                  //! current trigger mask
   Float_t fMagF;                        //! current magnetic field 
+  Int_t   fTriggerMaskReject;           //trigger mask - non accept trigger
+  Int_t   fTriggerMaskAccept;           //trigger mask - accept
 private:
   Int_t  fDebugLevel;                   //  debug level