7.2.2011 Kamil Sedlak
1) Constant fraction discriminator added to the analysis of the optical photon signal. 2) Bug fixes in the optical photon simulation. 3) A few other small improvements.
This commit is contained in:
@ -33,7 +33,8 @@ musrRootOutput::musrRootOutput() {
|
||||
pointerToRoot=this;
|
||||
boolIsAnySpecialSaveVolumeDefined=false;
|
||||
nFieldNomVal=0;
|
||||
|
||||
strcpy(rootOutputDirectoryName,"data");
|
||||
|
||||
ProcessIDMapping["DecayWithSpin"]=1;
|
||||
ProcessIDMapping["eIoni"]=2;
|
||||
ProcessIDMapping["eBrem"]=3;
|
||||
@ -157,6 +158,8 @@ G4bool musrRootOutput::store_odet_timeC = true;
|
||||
G4bool musrRootOutput::store_odet_timeD = true;
|
||||
G4bool musrRootOutput::store_odet_timeE = true;
|
||||
G4bool musrRootOutput::store_odet_timeLast = true;
|
||||
G4bool musrRootOutput::store_odet_timeCFD = true;
|
||||
G4bool musrRootOutput::store_odet_amplCFD = true;
|
||||
|
||||
|
||||
G4int musrRootOutput::oldEventNumberInG4EqEMFieldWithSpinFunction=-1;
|
||||
@ -167,7 +170,8 @@ void musrRootOutput::BeginOfRunAction() {
|
||||
G4cout << "musrRootOutput::BeginOfRunAction() Defining the Root tree and branches:"<<G4endl;
|
||||
G4int tmpRunNr=(G4RunManager::GetRunManager())->GetCurrentRun()->GetRunID();
|
||||
char RootOutputFileName[200];
|
||||
sprintf(RootOutputFileName, "data/musr_%i.root", tmpRunNr);
|
||||
// sprintf(RootOutputFileName, "data/musr_%i.root", tmpRunNr);
|
||||
sprintf(RootOutputFileName, "%s/musr_%i.root",rootOutputDirectoryName,tmpRunNr);
|
||||
rootFile=new TFile(RootOutputFileName,"recreate");
|
||||
rootTree=new TTree("t1","a simple Tree with simple variables");
|
||||
if (store_runID) {rootTree->Branch("runID",&runID,"runID/I");}
|
||||
@ -279,7 +283,7 @@ void musrRootOutput::BeginOfRunAction() {
|
||||
}
|
||||
|
||||
if (store_odet_ID || store_odet_nPhot || store_odet_timeFirst || store_odet_timeA || store_odet_timeB ||
|
||||
store_odet_timeC || store_odet_timeD || store_odet_timeE || store_odet_timeLast)
|
||||
store_odet_timeC || store_odet_timeD || store_odet_timeE || store_odet_timeLast || store_odet_timeCFD || store_odet_amplCFD)
|
||||
{rootTree->Branch("odet_n",&odet_n,"odet_n/I");}
|
||||
if (store_odet_ID) {rootTree->Branch("odet_ID",&odet_ID,"odet_ID[odet_n]/I");}
|
||||
if (store_odet_nPhot) {rootTree->Branch("odet_nPhot",&odet_nPhot,"odet_nPhot[odet_n]/I");}
|
||||
@ -289,7 +293,10 @@ void musrRootOutput::BeginOfRunAction() {
|
||||
if (store_odet_timeC) {rootTree->Branch("odet_timeC",&odet_timeC,"odet_timeC[odet_n]/D");}
|
||||
if (store_odet_timeD) {rootTree->Branch("odet_timeD",&odet_timeD,"odet_timeD[odet_n]/D");}
|
||||
if (store_odet_timeE) {rootTree->Branch("odet_timeE",&odet_timeE,"odet_timeE[odet_n]/D");}
|
||||
if (store_odet_timeLast) {rootTree->Branch("odet_timeLast",&odet_timeLast,"odet_timeLast[odet_n]/D");}
|
||||
if (store_odet_timeLast) {rootTree->Branch("odet_timeLast",&odet_timeLast,"odet_timeLast[odet_n]/D");}
|
||||
if (store_odet_timeCFD) {rootTree->Branch("odet_timeCFD",&odet_timeCFD,"odet_timeCFD[odet_n]/D");}
|
||||
if (store_odet_amplCFD) {rootTree->Branch("odet_amplCFD",&odet_amplCFD,"odet_amplCFD[odet_n]/D");}
|
||||
|
||||
|
||||
// htest1 = new TH1F("htest1","The debugging histogram 1",50,-4.,4.);
|
||||
// htest2 = new TH1F("htest2","The debugging histogram 2",50,0.,3.142);
|
||||
@ -527,7 +534,7 @@ void musrRootOutput::SetDetectorInfoVvv (G4int nDetectors,
|
||||
|
||||
|
||||
void musrRootOutput::SetOPSAinfo (G4int nDetectors, G4int ID, G4int nPhot, G4double timeFirst, G4double timeA,
|
||||
G4double timeB, G4double timeC, G4double timeD, G4double timeE, G4double timeLast)
|
||||
G4double timeB, G4double timeC, G4double timeD, G4double timeE, G4double timeLast, G4double timeCFD, G4double amplCFD)
|
||||
{
|
||||
if ((nDetectors<0)||(nDetectors>=(odet_nMax-1))) {
|
||||
char message[200];
|
||||
@ -546,5 +553,16 @@ void musrRootOutput::SetOPSAinfo (G4int nDetectors, G4int ID, G4int nPhot, G4
|
||||
odet_timeD[nDetectors]=timeD/microsecond;
|
||||
odet_timeE[nDetectors]=timeE/microsecond;
|
||||
odet_timeLast[nDetectors]=timeLast/microsecond;
|
||||
odet_timeCFD[nDetectors]=timeCFD/microsecond;
|
||||
odet_amplCFD[nDetectors]=amplCFD;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
void musrRootOutput::setRootOutputDirectoryName(char dirName[1000]) {
|
||||
strcpy(rootOutputDirectoryName,dirName);
|
||||
char message[200];
|
||||
sprintf(message,"musrRootOutput.cc::setRootOutputDirectoryName: Root output file will be stored in directory %s",dirName);
|
||||
musrErrorMessage::GetInstance()->musrError(INFO,message,false);
|
||||
}
|
||||
|
Reference in New Issue
Block a user